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

Appium服务器已关闭,因为没有新命令进入

堵昊焱
2023-03-14

我正在windows机器上使用Appium实现Android本机应用程序自动化。我的所有场景都很好,但有时应用程序会崩溃,Appium会停止说“60秒内没有收到新命令,正在关闭”。

注意-若我明确按下键盘上的任何键,它将在cucumber执行时执行下一个命令。

我可以看到Appium正在发送查找元素的请求,但没有收到响应。我不知道为什么会发生这种情况,但同样的事情基本上没有任何问题。发生此问题时,Appium会关闭应用程序,接下来的场景也会失败。

有人帮助解决这个问题。

这是Appium服务器日志:

信息:正在启动应用程序信息:[调试]试图杀死所有“uiautomator”进程信息:[调试]使用“uiautomator”获取所有进程信息:[调试]执行命令:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100 shell“ps‘uiautomator’”
信息:[调试]未找到匹配的进程
信息:[调试]正在运行引导程序
信息:[调试]生成:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100 shell uiautomator运行测试AppiumBootstrap。jar-c io。阿皮姆。Android独自创立Bootstrap-e pkg com。帕拉盖特。公共伙伴关系。测试-e disableAndroidWatchers false
信息:[调试][UIAUTOMATOR STDOUT]检测\u状态:numtests=1
信息:[调试][UIAUTOMATOR STDOUT]检测\u状态:流=
信息:[调试][UIAUTOMATOR STDOUT]io。阿皮姆。Android独自创立引导:
信息:[调试][UIAUTOMATOR STDOUT]插入\u状态:id=UiAutomatorTestRunner
信息:[调试][UIAUTOMATOR STDOUT]插入\u状态:测试=testRunServer
信息:[调试][UIAUTOMATOR STDOUT]插入\u状态:class=io。阿皮姆。Android独自创立引导信息:[调试][UIAUTOMATOR STDOUT]INSTRUMENTATION\u状态:当前=1
信息:[调试][UIAUTOMATOR STDOUT]INSTRUMENTATION\u状态代码:1
信息:[调试][引导][调试]端口4724上打开的套接字
信息:[调试][引导][调试]Appium套接字服务器就绪
信息:[调试]如果设备不活动,则唤醒设备
信息:[调试]将命令推送到Appium工作队列:[“唤醒”,{}]
信息:[调试][引导][调试]正在加载json
信息:[调试][引导][调试]json加载完成
信息:[调试][引导][调试]已注册的崩溃监视程序
信息:[调试][引导][调试]客户端已连接
信息:[调试][引导][调试]从客户端获取数据:{“cmd”:“action”,“action”:“wake”,“params”:{}}}
信息:[调试][引导][调试]获取类型为action的命令
信息:[调试][引导][调试]获取命令操作:wake
信息:[调试][引导][调试]返回结果:{“value”:true,“status”:0}
信息:[调试]正在执行cmd:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100外壳“dumpsys窗口”

info:[debug]屏幕已解锁,继续。
info:[debug]将命令推送到appium工作队列:["getDataDir",{}]
info:[debug][BOOTSTRAP][debug]从客户端获取数据:{"cmd":"action","action":"getDataDir","params":{}}
info:[debug][BOOTSTRAP][debug]获取ACTION
info:[debug][BOOTSTRAP][debug]获取命令操作:getDataDir
info:[debug][BOOTSTRAP][debug]返回结果:{"value":"/data/local/tmp","status": 0}
info:[debug]dataDir设置为: /data/local/tmp
info:[debug]将命令推送到appium工作队列:["压缩布局层次结构": false}]
info:[debug][BOOTSTRAP][debug]从客户端获取数据:{"cmd":"action","action":"压缩布局层次结构","params":{"压缩布局": false}}
info:[debug][BOOTSTRAP][debug]获取ACTION
info:[debug][BOOTSTRAP][debug]获取命令action:压缩布局层次结构
info:[debug][BOOTSTRAP][debug]返回结果:{"value": false,"status": 0}
info:[debug]获取设备API级别
info:[debug]执行cmd: C:\User\PG106\AppData\Local\Android\sdk\Platform-tools\adb.exe300450adeedc3100 shell"getpropro.build.version.sdk"

信息:[调试]设备处于API级别19
信息:[调试]执行cmd:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100 shell“am start-s-a android.intent.action.MAIN-c android.intent.category.LAUNCHER-f 0x10200000-n com.paragyte.publicpartnerships.test/com.paragyte.publicpartnerships.SplashActivity”

信息:[调试]正在等待对pkg“com.paragyte.publicpartnerships.test”和活动“com.paragyte.publicpartnerships.SplashActivity”进行集中
信息:[调试]获取集中的包和活动
信息:[调试]执行cmd:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100外壳“dumpsys窗口窗口”

信息:[调试]正在执行cmd:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100 shell“getprop ro.build.version.release”

信息:[调试]设备已发布4.4.2版。
信息:[调试]设备已启动!准备执行命令信息:[调试]将命令超时设置为默认值60秒信息:[调试]应用程序会话已启动,会话ID为00bd22a6-7f2e-435b-a6af-53f5bf115a2c信息:

info:[debug]成功响应客户端:{"status": 0,"value":{"Platform":"LINUX","BrowserName":"","platformVersion":"4.4.2","webStorageEn着落": false,"takesScreenshot": true,"javascriptEn着落": true,"数据库已着落": false,"networkConnectionEn着落": true,"locationContextEn着落": false,"警告":{},"所需":{"appiumVersion":"1.6.0","platformName":"Android","platformVersion":"4.4.2","BrowserName":"","deviceName":"Samsung Galaxy S4 Emulator","app":"D:\Automation\Mobile\apk_files/app-debug.apk","name":"Time 4 Care"},"appiumVersion":"1.6.0","platformName"

信息:

信息:--

信息:[调试]成功响应客户端:{“status”:0,“value”:{“build”:{“version”:“1.4.13”,“revision”:“c75d8adcb66a75818a542fe1891a34260c21f76a”},sessionId”:“00bd22a6-7f2e-435b-a6af-53f5bf115a2c”}

信息:

信息:--

info:[debug]成功响应客户端:{"status": 0,"value": null,"sesionId":"00bd22a6-7f2e-435b-a6af-53f5bf115a2c"}

信息:

信息:--

信息:[debug][BOOTSTRAP][debug]从客户端获取数据:{"cmd":"action","action":"pressKeyCode","params":{"keycode": 93,"metastate": null}}

信息:[debug][BOOTSTRAP][debug]获取类型为ACTION的命令
信息:[debug][BOOTSTRAP][debug]获取命令操作:按键代码
信息:[debug][BOOTSTRAP][debug]返回结果:{“value”:true,“status”:0}

信息:[调试]成功响应客户端:{“状态”:0,“值”:true,“会话ID”:“00bd22a6-7f2e-435b-a6af-53f5bf115a2c”}
信息:

信息:[调试]60秒内没有收到新命令,正在关闭<信息:关闭appium会话信息:[调试]按主页按钮

信息:[调试]正在执行cmd:C:\Users\PG106\AppData\Local\Android\sdk\platform tools\adb。exe-s 300450adeedc3100外壳“输入键事件3”

info:[debug]停止logcat捕获
info:[debug]Logcat以代码null终止,信号SIGTERM
info:[debug][BOOTSTRAP][debug]从客户端获取数据:{"cmd":"关闭"}
info:[debug][BOOTSTRAP][debug]获取SHUTDOWN
info类型的命令:[debug][BOOTSTRAP][debug]返回结果:{"value":"OK,关机","status": 0}
info:[debug][BOOTSTRAP][debug]已关闭的客户端连接
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS: numtest=1
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS: stream=.
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS: id=UiAutomatorTestINSTRUMENTATION_STATUS:test=testRunServer
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS:class=io.appium.android.bootstrap.Bootstrap
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS:当前=1
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS_CODE:0
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS:stream=
info:[debug][UIAUTOMATOR STDOUT]WatcherResultPrinter=的测试结果。
info:[debug][UIAUTOMATOR STDOUT]Time:63.073
info:[debug][UIAUTOMATOR STDOUT]OK(1 test)
info:[debug][UIAUTOMATOR STDOUT]INSTRUMENTATION_STATUS_CODE:-1
info:[debug]发送关机命令,等待UiAutomator停止...
info:[br>info:[debug]清理appium会话
info:[debug]我们关闭是因为没有新命令进来

谢谢卡皮尔

共有1个答案

太叔经赋
2023-03-14

您是否尝试过将所需的功能设置为更高的数字?当前设置为什么?

desiredCapabilities.setCapability("newCommandTimeout", 10000);
 类似资料:
  • 想改进这个问题吗?更新问题,使其成为Stack Overflow的主题。 我的系统上运行着一个本地mysql服务器,我试图从一个sqldump文件加载一个大规模的现有数据库。 大约一个小时后(左右)我第一次尝试这个,我得到了以下错误 看来我可以通过增加 命令行选项来解决这个问题。 我的问题是-如何将mysql服务器作为服务启动并在Ubuntu中传递命令行选项? 要正常启动和停止,我使用 但是在这里

  • 我正在构建一个Android应用程序--其中的一个关键部分将包括与服务器API的集成。该应用程序只是一个辅助项目,我真的只是在寻找我计划的API安全性的验证和最佳实践的建议,以及其他应用程序如何做到这一点。 该应用程序将是移动的(首先,没有网站)-我希望能够创建用户帐户从应用程序,一旦注册,使用中央网络API访问/更新安全的用户特定的内容。 可公开访问的注册和登录的POSTendpoint 用户特

  • 我正在尝试使用appium打开/关闭设备。我在Appium python客户端修改了Webdriver.py。我添加了一个关闭电源的功能和命令。它不起作用。有人能帮我用Appium命令开/关电源吗?PS -我不能使用adb命令

  • 我刚刚在mac上安装了CentOS7作为虚拟机(OSX10.9.3+virtualbox),运行ifconfig返回命令not found。同样,运行sudo/sbin/config返回commmand not found。这是echo$path 请记住,我是一名学生,对某些术语非常陌生。

  • < b >想改进这个问题?更新问题,以便通过编辑此帖子用事实和引用来回答问题。 为什么没有函数(没有任何参数)来展平