[我在尝试运行Appium测试时遇到错误

问题描述 投票:0回答:1

运行以下代码:

    public static void opencalculator() throws MalformedURLException  {

        DesiredCapabilities cap=new DesiredCapabilities();

        cap.setCapability("deviceName", "android x86");
        cap.setCapability("udid", "emulator-5554");
        cap.setCapability("platformName", "Android");
        cap.setCapability("platformVersion", "7.1.1");
        cap.setCapability("appPackage", "com.android.calculator2");
        cap.setCapability("appActivity", "com.android.calculator2.Calculator");

        URL url=new URL("http://127.0.0.1:4722/wd/hub");

        driver =new AndroidDriver<MobileElement>(url, cap);
        driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);

给我这个错误:

java.lang.reflect.InvocationTargetExceptionorg.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。请检查服务器日志以获取更多详细信息。原始错误:处理命令时发生未知的服务器端错误。原始错误:在PATH中找不到“ adb.exe”。请将环境变量ANDROID_HOME或ANDROID_SDK_ROOT设置为正确的Android SDK根目录路径。内部版本信息:版本:'3.141.59',修订版本:'e82be7d358',时间:'2018-11-14T08:17:03'

考虑到我根据上面的消息更改了很多路径

java selenium-webdriver appium appium-android
1个回答
0
投票

这是修改路径后现在出现的错误

java.lang.reflect.InvocationTargetExceptionorg.openqa.selenium.SessionNotCreatedException:无法创建新的远程会话。请检查服务器日志以获取更多详细信息。原始错误:处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:'命令'C:\ Users \ ahmed \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe -P 5037 -s emulator-5554 install -r C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk'退出,代码为1'; Stderr:'adb:安装C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk:失败[INSTALL_PARSE_FAILED_NO_CERTIFICATES :无法从/data/app/vmdl541246303.tmp/base.apk收集证书:META-INF / CERT.SF在/data/app/vmdl541246303.tmp/base中的javax / annotation / meta / Exclusive.java具有无效的摘要.apk]';代码:“ 1”构建信息:版本:'3.141.59',修订版本:'e82be7d358',时间:'2018-11-14T08:17:03'系统信息:主机:'WAER',ip:'192.168.178.83',操作系统名称:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'11 .0.5 '驱动程序信息:driver.version:AndroidDriverremote stacktrace:UnknownError:处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:'命令'C:\ Users \ ahmed \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe -P 5037 -s emulator-5554 install -r C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk'退出,代码为1'; Stderr:'adb:安装C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk:失败[INSTALL_PARSE_FAILED_NO_CERTIFICATES :无法从/data/app/vmdl541246303.tmp/base.apk收集证书:META-INF / CERT.SF在/data/app/vmdl541246303.tmp/base中的javax / annotation / meta / Exclusive.java具有无效的摘要.apk]';代码:“ 1”在getResponseForW3CError(C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-base-driver \ lib \ protocol \ errors.js:804:9)在asyncHandler(C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-base-driver \ lib \ protocol \ protocol.js:392:37)构建信息:版本:'3.141.59',修订版本:'e82be7d358',时间:'2018-11-14T08:17:03'系统信息:主机:'WAER',ip:'192.168.178.83',操作系统名称:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'11 .0.5 '驱动程序信息:driver.version:AndroidDriver在io.appium.java_client.remote.AppiumCommandExecutor $ 1.createSession(AppiumCommandExecutor.java:208)在io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:217)在io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)在io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:41)在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:213)在io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:336)在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:131)在io.appium.java_client.DefaultGenericMobileDriver。处(DefaultGenericMobileDriver.java:37)在io.appium.java_client.AppiumDriver。(AppiumDriver.java:88)在io.appium.java_client.AppiumDriver。(AppiumDriver.java:98)在io.appium.java_client.android.AndroidDriver。(AndroidDriver.java:94)在appiumtest.calculatortest.opencalculator(calculatortest.java:47)在appiumtest.calculatortest.main(calculatortest.java:26)引起原因:java.lang.reflect.InvocationTargetException在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在java.base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)在java.base / jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.base / java.lang.reflect.Method.invoke(Method.java:566)在io.appium.java_client.remote.AppiumCommandExecutor $ 1.createSession(AppiumCommandExecutor.java:186)...另外15个引起原因:org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:'命令'C:\ Users \ ahmed \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe -P 5037 -s emulator-5554 install -r C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk'退出,代码为1'; Stderr:'adb:安装C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk:失败[INSTALL_PARSE_FAILED_NO_CERTIFICATES :无法从/data/app/vmdl541246303.tmp/base.apk收集证书:META-INF / CERT.SF在/data/app/vmdl541246303.tmp/base中的javax / annotation / meta / Exclusive.java具有无效的摘要.apk]';代码:“ 1”构建信息:版本:'3.141.59',修订版本:'e82be7d358',时间:'2018-11-14T08:17:03'系统信息:主机:'WAER',ip:'192.168.178.83',操作系统名称:'Windows 10',os.arch:'amd64',os.version:'10 .0',java.version:'11 .0.5 '驱动程序信息:driver.version:AndroidDriverremote stacktrace:UnknownError:处理命令时发生未知的服务器端错误。原始错误:执行adbExec时出错。原始错误:'命令'C:\ Users \ ahmed \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe -P 5037 -s emulator-5554 install -r C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk'退出,代码为1'; Stderr:'adb:安装C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-uiautomator2-server \ apks \ appium-uiautomator2-server-debug-androidTest.apk:失败[INSTALL_PARSE_FAILED_NO_CERTIFICATES :无法从/data/app/vmdl541246303.tmp/base.apk收集证书:META-INF / CERT.SF在/data/app/vmdl541246303.tmp/base中的javax / annotation / meta / Exclusive.java具有无效的摘要.apk]';代码:“ 1”在getResponseForW3CError(C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-base-driver \ lib \ protocol \ errors.js:804:9)在asyncHandler(C:\ Users \ ahmed \ AppData \ Roaming \ npm \ node_modules \ appium \ node_modules \ appium-base-driver \ lib \ protocol \ protocol.js:392:37)在java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本地方法)在java.base / jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)在java.base / jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)在java.base / java.lang.reflect.Constructor.newInstance(Constructor.java:490)在org.openqa.selenium.remote.W3CHandshakeResponse.lambda $ errorHandler $ 0(W3CHandshakeResponse.java:62)在org.openqa.selenium.remote.HandshakeResponse.lambda $ getResponseFunction $ 0(HandshakeResponse.java:30)在org.openqa.selenium.remote.ProtocolHandshake.lambda $ createSession $ 0(ProtocolHandshake.java:126)在java.base / java.util.stream.ReferencePipeline $ 3 $ 1.accept(ReferencePipeline.java:195)在java.base / java.util.Spliterators $ ArraySpliterator.tryAdvance(Spliterators.java:958)在java.base / java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)在java.base / java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)在java.base / java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)在java.base / java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)在java.base / java.util.stream.FindOps $ FindOp.evaluateSequential(FindOps.java:150)在java.base / java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)在java.base / java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)在org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128)... 20个以上

© www.soinside.com 2019 - 2024. All rights reserved.