【发布时间】:2018-05-04 11:58:34
【问题描述】:
环境:
- java-client(6.0.0-BETA4)
- 服务器 Appium (1.5.0)
- java 1.8
在自动化测试期间,在安卓模拟器上运行时,Appium 一直在我身上停滞不前。
由于似乎是服务器问题,很少有测试失败:
例外:
“org.openqa.selenium.WebDriverException:未知的服务器端错误 处理命令时发生。原始错误:无法停止 过程;它当前没有运行”
有没有已知的方法可以避免这个问题?
这是来自 Appium 服务器的更多堆栈跟踪:
[debug] [ADB] Running ‘…/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 shell am force-stop com.go.android'[debug] [ADB] Pressing the HOME button
[debug] [ADB] Getting connected devices...[debug] [ADB] Pressing the HOME button
[debug] [ADB] Getting connected devices...[debug] [AndroidBootstrap] Sending command to android: {"cmd":"shutdown"}[debug] [AndroidBootstrap] Sending command to android: {"cmd":"shutdown"}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"shutdown"}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type SHUTDOWN
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":0,"value":"OK, shutting down"}
[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] Closed client connection
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: numtests=1
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=.
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: test=testRunServer
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: current=1
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: 0
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=
[debug] [AndroidBootstrap] [UIAUTO STDOUT] Test results for WatcherResultPrinter=.
[debug] [AndroidBootstrap] [UIAUTO STDOUT] Time: 52.015
[debug] [AndroidBootstrap] [UIAUTO STDOUT] OK (1 test)
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: -1
[error] [UiAutomator] UiAutomator exited unexpectedly with code 0, signal null
[debug] [UiAutomator] Moving to state 'stopped'
[debug] [UiAutomator] Shutting down UiAutomator
[debug] [UiAutomator] Moving to state 'stopping'
[error] [Appium] Had trouble ending session fc510427-6374-4d94-83b4-f008e05f8d69: Can't stop process; it's not currently running (cmd: ‘/…/Library/Android/sdk/platform-tools/adb')
[error] [MJSONWP] Encountered internal error running command: Error: Can't stop process; it's not currently running (cmd: '/Users/Library/Android/sdk/platform-tools/adb')
使用“HOME”按钮退出应用时似乎失败了。
【问题讨论】:
-
那么问题是什么?
-
为什么会出现这个问题。以及如何避免。这种行为并非每次都可重现,而只是偶尔重现。我的问题是如何避免这种情况。
-
使用此信息更新主要问题以进行正确分析
-
你能添加更多关于拆卸功能的细节并分享堆栈跟踪吗?您是否并行运行 2 台设备?
-
Teardown 函数被覆盖方法 afterInvocation() 和 stacktrace 在上面。但是认为我已经找到了问题,当 OverrideSession 参数设置为打开时,这是服务器中的一个错误。仍在测试这是否会重新出现,但如果不是 100%,这将是问题。
标签: java android selenium appium