当前位置: 首页 > 知识库问答 >
问题:

间歇性发生appium未知服务器端错误

伍弘盛
2023-03-14

我似乎时断时续地遇到这个问题。如果我拔下插头并重新插入设备并重新执行测试,则没有错误,但这只是暂时的修复,直到它再次出现。我有2个appium server实例,用于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

设备所需的功能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);

非常感谢任何帮助!

共有1个答案

孙钱青
2023-03-14

看看你提供的细节,应该不会有任何错误。它应该可以正常工作。

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

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

在以下功能中添加,

"automationName": "UiAutomator2"

如果您在本地计算机上运行测试,请使用<代码>http://127.0.0.1:

如果您正在远程运行测试,请确保在上面,本地IP127.0.0.0替换为运行Appium服务器的机器IP。

由于您只运行Android设备,我希望根据Android测试设置安装必备软件。

对于mac设备设置,请执行以下步骤-https://www.swtestacademy.com/how-to-install-appium-on-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

您应该知道,有时节点。js无法与127.0.0.1:4723交谈,因此请使用0.0.0.0:4723,反之亦然。记住在代码(DesiredCapabilities)和应用程序设置中都要更改此设置。

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

示例,caps.set能力("udid","ce0217124184c72505");//来自"adb设备"命令的DeviceId

 类似资料:
  • 我运行simple_test.rb,代码如下所示。iOS弯刀启动,并将值放入文本字段。但是当点击第一个按钮时。错误消息出来,即使我睡了一段时间,消息仍然是。 信息:[debug][INST]2015-11-04 09:54:53+0000 debug:从instruments获得新命令7:au.getElement('2').rect() 信息:[调试]套接字数据接收(83字节)信息:[调试]套接

  • 首先,出于某种原因,目前只有Android平板电脑才会出现这种情况。我在Android6.0到4.4的手机上试用过,效果不错。 但由于某些原因,在平板电脑上却没有。 我正试图在屏幕上找到此广告,我正在使用以下任一选项进行搜索: 或者这个: 因为有些设备的检查器中有时不显示webview。 这种方法在手机上很有效,但由于某些原因在平板电脑上有时有效有时无效,如果我在测试中使用这种方法8次,可能有效6

  • 我的项目有以下代码: 功能/env.rb 当我运行cucumber功能时,出现以下错误: 这是里面的代码。/features/pages/Home/Home\u Page/P1\u HomePage.rb:20 手机浏览器打开我的URL,然后出现此错误。请我尝试一切,我接受建议 我手动设置了appium chromedriver路径,并很好地使用了它。查看appium日志将显示以下详细信息:

  • 我正在用Appium在Mac上运行我的iOS自动测试。 运行时得到以下错误: 在弄清楚这个问题时需要帮助。 谢谢…!

  • 我试图刷MobileElement,但它给服务器端错误。这里的原因可能是什么? 代码: 错误: org.openqa.selenium.WebDriverExcture:在处理命令时发生了未知的服务器端错误。(警告:服务器未提供任何stackTrace信息)命令持续时间或超时:16毫秒

  • 更新到appium版本1.20.0后,这个未知的服务器端错误开始更频繁地发生,我以前见过这个错误,但真的是零星的,我认为这是由于断开引起的超时,现在每次我在同一个版本中运行测试时都会发生执行点。 Appium版本:1.20.0设备:Pixel 3(仿真器)Android API 30 鸦片原木 亚洲开发银行日志