Appium 间歇发生的应用程序未知服务器端错误

Appium 间歇发生的应用程序未知服务器端错误,appium,appium-android,appium-desktop,Appium,Appium Android,Appium Desktop,我似乎时断时续地遇到这个问题。没有错误,如果我是解除插头和重新插头的设备,并重新执行测试,但这只是暂时的修复,直到它再次出现。 我有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 sessi

我似乎时断时续地遇到这个问题。没有错误,如果我是解除插头和重新插头的设备,并重新执行测试,但这只是暂时的修复,直到它再次出现。 我有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
设备所需的功能1-

 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);
设备的移动功能2-

 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无法找出为运行提供的功能列表时,通常会产生未知错误。我建议仔细检查appPackage和appActivity详细信息是否正确

另外,尝试在一台设备上运行测试并查看任何错误。请参阅测试运行的一致性。如果没有错误,您可以再添加一个设备并查看其运行情况

在下面的功能中添加

"automationName": "UiAutomator2"
如果您正在本地计算机上运行测试,请使用http://127.0.0.1:/wd/hubinstead 0.0.0.0

如果您正在远程运行测试,请确保在上面的中,本地IP 127.0.0.0替换为运行Appium server的机器IP

由于您只运行Android设备,我希望先决条件软件按照Android测试设置进行安装

对于mac设备设置,请执行以下步骤-

尝试以下步骤

检查是否可以通过运行以下命令手动安装应用程序

 adb -P <port> -s <device id > shell pm install -t -g <apk path>
如果这可以工作,则表明设备没有问题。否则,您应该重置设备并重新测试它

检查Appium服务器是否正在运行,没有问题。访问此链接,您将在appium服务器控制台上获得200条响应

http://<appium server ip>:4723/wd/hub/sessions
如果您在那里看到错误,则表明Appium存在问题。卸载并安装Appium的稳定版本,然后重新测试

您应该知道,有时Node.js无法与127.0.0.1:4723通信,因此请改用0.0.0.0:4723,反之亦然。记住在CodeDesiredCapabilities和appium设置中都要更改此设置

Try udid参数是所需功能所必需的-


例如,caps.setCapabilityudid,ce0217124184c72505//adb设备命令中的DeviceId

感谢您的回复!测试需要2台设备,这是测试的一部分。一旦发生故障,我就去拿日志。appium服务器日志是否足够[driver.manage.logs.getserver;]?是的,应该可以。另外,请看我的回答,我已经为您的检查增加了几点。你使用哪台笔记本电脑安装Appium,是Windows还是Mac?它的Windows,Hari。我将包括你提供的能力,并尝试它。非常感谢你,哈里!我会把它公布的。拉杰,我已经查过错误日志了。添加几个步骤来尝试。请勾选答案框,让我知道答案是什么。
http://<appium server ip>:4723/wd/hub/sessions