【发布时间】:2018-10-31 08:56:57
【问题描述】:
背景资料
日食:4.5.2 Appium 桌面版:1.6.1 Java 1.8.0_7 b15
你好,
我无法从 Eclipse 到 appium 桌面 (IOS) 运行所需的功能。
我该如何解决这个问题?我想要的能力是正确的。
public class InvokeIOS {
public static void main(String[] args) throws MalformedURLException {
// TODO Auto-generated method stub
DesiredCapabilities d=new DesiredCapabilities();
d.setCapability(MobileCapabilityType.DEVICE_NAME,"iPhone 6");
d.setCapability(MobileCapabilityType.PLATFORM_NAME,"IOS");
d.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.IOS_XCUI_TEST);
d.setCapability(MobileCapabilityType.APP,"/Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app");
IOSDriver<IOSElement> driver = new IOSDriver<>(new URL("http://127.0.0.1:4723/wd/hub"),d);
我收到以下错误消息
线程“main”org.openqa.selenium.WebDriverException 中的异常:处理命令时发生未知的服务器端错误。 原始错误:错误的应用程序: /Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app。 应用程序路径需要是绝对的,或者相对于 appium 服务器 安装目录,或压缩文件的 URL,或特殊的应用名称。
构建信息:版本:'3.9.1',修订:'63f7b50',时间: '2018-02-07T22:42:22.379Z'
系统信息:主机:'Jacquelines-MacBook-Air.local',ip:'192.168.0.5', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.4', java.version: '1.8.0_71'
驱动信息:driver.version:IOSDriver
远程堆栈跟踪:UnknownError:发生未知的服务器端错误 在处理命令时。原始错误:错误的应用程序: /Users/jacquelinegeorge/Documents/Appium/Apps/ios-uicatalog-master/DerivedData/UICatalog/Build/Products/Debug-iphonesimulator/UICatalog.app。 应用程序路径需要是绝对的,或者相对于 appium 服务器 安装目录,或压缩文件的 URL,或特殊的应用名称。
在 getResponseForW3CError (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/lib/protocol/errors.js:800:13) 在异步处理程序$ (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/lib/protocol/protocol.js:352:37) 在 tryCatch (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:67:40) 在 GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:315:22) 在 GeneratorFunctionPrototype.prototype.(匿名函数) [as next ] (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:100:21) 在 GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/app/node_modules/appium-base-driver/node_modules/babel-runtime/regenerator/runtime.js:136:37) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:422) 在 org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57) 在 org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104) 在 org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123) 在 java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) 在 java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) 在 java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) 在 java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) 在 java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) 在 java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) 在 java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) 在 java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 在 java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126) 在 org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:138) 在 io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:89) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:601) 在 io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) 在 io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) 在 io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:219) 在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:142) 在 io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38) 在 io.appium.java_client.AppiumDriver.(AppiumDriver.java:83) 在 io.appium.java_client.AppiumDriver.(AppiumDriver.java:93) 在 io.appium.java_client.ios.IOSDriver.(IOSDriver.java:78) 在 iostraining.InvokeIOS.main(InvokeIOS.java:22)
【问题讨论】:
标签: java ios appium appium-ios