在显示appium程序时需要重新安装,将错误显示为“ app”选项

时间:2019-03-08 11:10:05

标签: android automation automated-tests appium

运行appium程序时出现异常。请询问是否需要其他信息。

TLDR:

原始错误:“ app”选项需要重新安装

  

log4j:WARN找不到记录器的附加程序   (org.apache.http.client.protocol.RequestAddCookies)。 log4j:请警告   正确初始化log4j系统。 log4j:WARN请参阅   http://logging.apache.org/log4j/1.2/faq.html#noconfig了解更多信息。   线程“主” org.openqa.selenium.WebDriverException中的异常:An   处理命令时发生未知的服务器端错误。   原始错误:“ app”选项是重新安装内部版本信息所必需的:   版本:“ 3.8.1”,修订版:“ 6e95a6684b”,时间:   '2017-12-01T19:05:14.666Z'系统信息:os.name:'Windows 7',os.arch:'amd64',os.version:   '6.1',java.version:'1.8.0_151'驱动程序信息:driver.version:   AndroidDriver远程堆栈跟踪:UnknownError:未知的服务器端   处理命令时发生错误。原始错误:“ app”   需要重新安装选件       在getResponseForW3CError(C:\ Users \ preethi.g \ AppData \ Local \ appium-desktop \ app-1.10.0 \ resources \ app \ node_modules \ appium-base-driver \ lib \ protocol \ errors.js:826:9)       在asyncHandler(C:\ Users \ preethi.g \ AppData \ Local \ appium-desktop \ app-1.10.0 \ resources \ app \ node_modules \ appium-base-driver \ lib \ protocol \ protocol.js:447:37)       在process._tickCallback(内部/进程/next_tick.js:68:7)在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)     在sun.reflect.NativeConstructorAccessorImpl.newInstance(未知   来源)   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知   源)位于java.lang.reflect.Constructor.newInstance(未知源)     在   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(未知源)在   java.util.Spliterators $ ArraySpliterator.tryAdvance(未知源)   java.util.stream.ReferencePipeline.forEachWithCancel(未知源)     在java.util.stream.AbstractPipeline.copyIntoWithCancel(未知   来源)java.util.stream.AbstractPipeline.copyInto(未知来源)     在java.util.stream.AbstractPipeline.wrapAndCopyInto(未知来源)     在java.util.stream.FindOps $ FindOp.evaluateSequential(未知源)     在java.util.stream.AbstractPipeline.evaluate(未知源)在   java.util.stream.ReferencePipeline.findFirst(未知源),位于   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:142)     在   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.android.AndroidDriver.execute(AndroidDriver.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.android.AndroidDriver。(AndroidDriver.java:72)     在Mobileapp1.Apptesting.main(Apptesting.java:24)

1 个答案:

答案 0 :(得分:1)

似乎您没有在 DesiredCapability 中添加“ app”功能,而您正在使用 noReset 功能。您可以添加“ app”功能,并指定.ipa或.apk文件的位置。

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(MobileCapabilityType.APP, "path to ipa/apk file" );
//others capabilities