间歇出现的Appium未知服务器端错误

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

我似乎间歇性地遇到了这个问题。如果我要拔出并重新插入设备并重新启动测试,则没有错误,但这只是暂时性的修复,直到它再次出现为止。我有2个设备的appium服务器的2个实例-

server1
Host-0.0.0.0
server port-5050
Bootstrap port- 4734
allow session overrides- ticked

server2
Host-0.0.0.0
server port-4723
Bootstrap port- 4724
allow session overrides- ticked

appium版本-1.15.1

List of devices attached-
52002dd24392b5a1        device
5200472dec01a4a9        device

appium服务器控制台上的错误-

  W3C] Encountered internal error running command: Error: Cannot start the 'com.XYZ.XYZ' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command ''C:\\Users\\XYZ\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' -P 5037 -s 5200472dec01a4a9 shell am start -W -n com.XYZ.XYZ/host.exp.exponent.LauncherActivity -S' timed out after 120000ms'. Try to increase the 120000ms adb execution timeout represented by 'adbExecTimeout' capability
    [W3C]     at ADB.startApp (C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-adb\lib\tools\apk-utils.js:153:11)
    [HTTP] <-- POST /wd/hub/session 500 132866 ms - 1782
    [HTTP] 
    [Instrumentation] .
    [Instrumentation] Time: 123.085
    [Instrumentation] 
    [Instrumentation] OK (1 test)
    [Instrumentation] The process has exited with code 0

IDE-上的错误

org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Cannot start the 'com.XYZ.XYZ' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command ''C:\\Users\\XYZ\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' -P 5037 -s 5200472dec01a4a9 shell am start -W -n com.XYZ.XYZ/host.exp.exponent.LauncherActivity -S' timed out after 120000ms'. Try to increase the 120000ms adb execution timeout represented by 'adbExecTimeout' capability
Driver info: driver.version: AndroidDriver
remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Cannot start the 'com.XYZ.XYZ' application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: 'Command ''C:\\Users\\XYZ\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe' -P 5037 -s 5200472dec01a4a9 shell am start -W -n com.XYZ.XYZ/host.exp.exponent.LauncherActivity -S' timed out after 120000ms'. Try to increase the 120000ms adb execution timeout represented by 'adbExecTimeout' capability

device1-所需的功能

 DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "Tab");
        capabilities.setCapability("platformVersion", "8.0.0");
        capabilities.setCapability("platformName", "ANDROID");
        capabilities.setCapability("udid", "5200472dec01a4a9");
        capabilities.setCapability("noReset", "true");
        capabilities.setCapability("appPackage", "com.xyz.xyz");
        capabilities.setCapability("appActivity", "host.exp.exponent.LauncherActivity");
        capabilities.setCapability("adbExecTimeout", 120000);
        capabilities.setCapability("newCommandTimeout", 3000);
        capabilities.setCapability("noSign", "true");
        URL mobileURL = new URL("http://0.0.0.0:5050/wd/hub");
        mobileParent = new AndroidDriver(mobileURL, capabilities);

device2-的移动功能

 capabilities.setCapability("deviceName", "Tab");
        capabilities.setCapability("platformVersion", "8.0.0");
        capabilities.setCapability("platformName", "ANDROID");
        capabilities.setCapability("udid", "52002dd24392b5a1");
        capabilities.setCapability("noReset", "true");
        capabilities.setCapability("appPackage", "com.coachhire.kura");
        capabilities.setCapability("appActivity", "host.exp.exponent.LauncherActivity");
        capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);
        capabilities.setCapability("adbExecTimeout", 120000);
        capabilities.setCapability("newCommandTimeout", 3000);
        capabilities.setCapability("noSign", "true");
        URL mobileURL = new URL("http://0.0.0.0:4723/wd/hub");
        mobileDriver = new AndroidDriver(mobileURL, capabilities);

非常感谢!

appium appium-android appium-desktop
1个回答
0
投票

查看您提供的详细信息,应该没有任何错误。它应该工作正常。

当Appium无法找出为运行提供的功能列表时,通常会发生未知错误。我建议仔细检查appPackage和appActivity详细信息是否正确。

此外,请尝试在一台设备上运行测试并查看任何错误。查看测试运行的一致性。如果不是错误,则可以再添加一台设备并查看其运行方式。

在功能下方添加,

"automationName": "UiAutomator2"

如果在本地计算机上运行测试,请使用http://127.0.0.1:<Port>/wd/hub代替0.0.0.0

如果您要远程运行测试,请确保在上面进行操作,将本地IP 127.0.0.0替换为运行Appium服务器的计算机IP。

由于您仅在运行Android设备,因此希望按照Android测试设置安装必备软件。

对于Mac设备设置,请按照此处的步骤-https://www.swtestacademy.com/how-to-install-appium-on-mac/

您可以在此处添加完整的Appium日志吗...

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