日志信息

2021-08-02 20:10:48.447  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][AndroidDriver] Screen already unlocked, doing nothing
2021-08-02 20:10:48.448  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][UiAutomator2] Starting 'com.seewo.screensharepro.server/com.seewo.easiair.server.activity.MainActivity and waiting for 'com.seewo.screensharepro.server/com.seewo.easiair.server.activity.MainActivity'
2021-08-02 20:10:48.449  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [ADB] Running '/Users/sai/android-sdk/android-sdk-macosx/platform-tools/adb -P 5037 -s 172.20.214.201\:1379 shell am start -W -n com.seewo.screensharepro.server/com.seewo.easiair.server.activity.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000'
2021-08-02 20:11:08.467  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [UiAutomator2] Deleting UiAutomator2 session
2021-08-02 20:11:08.467  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [UiAutomator2] Deleting UiAutomator2 server session
2021-08-02 20:11:08.468  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [WD Proxy] Matched '/' to command name 'deleteSession'
2021-08-02 20:11:08.468  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [WD Proxy] Proxying [DELETE /] to [DELETE http://127.0.0.1:8200/wd/hub/session/06921094-d944-4d44-a5c7-c298b3479009] with no body
2021-08-02 20:11:08.512  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [WD Proxy] Got response with status 200: {"sessionId":"06921094-d944-4d44-a5c7-c298b3479009","value":null}
2021-08-02 20:11:08.512  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [ADB] Running '/Users/sai/android-sdk/android-sdk-macosx/platform-tools/adb -P 5037 -s 172.20.214.201\:1379 shell am force-stop com.seewo.screensharepro.server'
2021-08-02 20:11:08.605  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [Logcat] Stopping logcat capture
2021-08-02 20:11:08.609  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [ADB] Removing forwarded port socket connection: 8200
2021-08-02 20:11:08.609  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [ADB] Running '/Users/sai/android-sdk/android-sdk-macosx/platform-tools/adb -P 5037 -s 172.20.214.201\:1379 forward --remove tcp\:8200'
2021-08-02 20:11:08.619  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][UiAutomator2] Restoring hidden api policy to the device default configuration
2021-08-02 20:11:08.620  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [ADB] Running '/Users/sai/android-sdk/android-sdk-macosx/platform-tools/adb -P 5037 -s 172.20.214.201\:1379 shell 'settings delete global hidden_api_policy_pre_p_apps;settings delete global hidden_api_policy_p_apps;settings delete global hidden_api_policy''
2021-08-02 20:11:08.772  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [BaseDriver] Event 'newSessionStarted' logged at 1627906268771 (20:11:08 GMT+0800 (China Standard Time))
2021-08-02 20:11:08.793  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [W3C] Encountered internal error running command: Error: Cannot start the 'com.seewo.screensharepro.server' 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 '/Users/sai/android-sdk/android-sdk-macosx/platform-tools/adb -P 5037 -s 172.20.214.201\:1379 shell am start -W -n com.seewo.screensharepro.server/com.seewo.easiair.server.activity.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000' timed out after 20000ms'. Try to increase the 20000ms adb execution timeout represented by 'adbExecTimeout' capability
2021-08-02 20:11:08.793  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [W3C]     at ADB.startApp (/usr/local/lib/node_modules/appium/node_modules/appium-adb/lib/tools/apk-utils.js:177:11)
2021-08-02 20:11:08.802  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][debug] [W3C] Destroying socket connection
2021-08-02 20:11:08.802  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][HTTP] <-- POST /wd/hub/session 500 28272 ms - 1813
2021-08-02 20:11:08.803  INFO 64725 --- [c Stream Pumper] com.daxiang.utils.Terminal               : [Terminal][HTTP]

从上述的日志可以看出来,提示的信息是adbExecTimeout 执行超时了,并且提示是增加超时的时间,但是这个配置明显是不合适的,还是得真正分析出来超时的原因到底是什么。而且还有一个重要的信息就是,实际上应用是已经完成启动了,只是看日志的描述是 am start 没有返回值导致的。

分析

我们可以看到真正超时的原因是因为执行这条命令然后超时了。

adb -P 5037 -s 172.20.214.201\:1379 shell am start -W -n com.seewo.screensharepro.server/com.seewo.easiair.server.activity.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000

那我们就先手动去执行下看看是否有啥表现的现象吧。

结果发现实际也发生了一样的情况。也就是am start 以后迟迟没有返回的结果

找相应的开发了解到,当对应的activity完成启动以后,会启动service后自己就完成了退出的操作了,service会会进行绘制window的窗口来展示画面,而不是通过我们一直了解的activity进行绘制画面。

以上的逻辑就会导致一个问题,就是am start 以后就会去等待对应的activity是否真正的完成启动的动作,但是实际上要完成启动的activity已经退出了,这就导致了实际上应用已经起来了,但是确没有等到对应的activity。

解决

那针对这个有解决的方法吗? 答案肯定是有的。

我们找到一篇官方的wiki 说明的很详细了

Appium 需要知道包和活动名称才能正确初始化被测应用程序。此信息应在驱动程序功能中提供,包括以下键:
appActivity: 主要应用活动的名称
appPackage: 应用程序包的标识符
appWaitActivity:要等待的应用程序活动的名称/哪个开始第一个
appWaitPackage: 要等待的应用程序包的 id/哪个开始第一个
appWaitDuration: 等待appWaitActivity焦点的最大持续时间,以毫秒为单位(默认为 20000)
appWaitForLaunch: 是否等待活动管理器将控制权返回给调用进程。默认情况下,驱动程序总是等到appWaitDuration过期。将此功能设置为false有效取消此等待并在am成功触发启动活动的命令后立即解除对服务器循环的阻塞。

命令“…”在 X 毫秒后超时
如果您已仔细检查活动名称是否正确,但启动仍然超时,则尝试增加appWaitDuration功能的值。通常,默认 20 秒对于大多数应用程序来说就足够了,但是,一些较大的应用程序可能需要更多时间来启动和显示第一个活动。请不要创建这样的应用程序。
也可能存在活动根本不将控制权返回给调用进程的情况,因此am start调用永远独立于 的值而阻塞appWaitDuration,从而导致超时。在这种情况下设置appWaitForLaunch到false可能有助于解决这个问题。尽管通过选择此选项,驱动程序无法确保活动已完全启动,因此由客户端代码来验证初始 UI 状态是否符合预期。

所以解决上述的问题 其实比较简单,直接在appium的capabilities中将 appWaitForLaunch 设置为false即可解决了。

Appium启动应用时,报错提示adb执行超时的问题解决相关推荐

  1. 项目启动时flowable报错提示 version mismatch: library version is *, db version is *

    项目启动时flowable报错提示 version mismatch: library version is *, db version is * 可能原因 1.项目中的flowable版本更换了但是 ...

  2. 手动启动Remote Desktop Services服务,报错提示:“系统无法找到指定文件” ,该如何解决

    手动启动Remote Desktop Services服务,报错提示:"系统无法找到指定文件" 解决方法: 1.打开regedit,找到路径HKEY_LOCAL_MACHINE\S ...

  3. AE中的各种报错提示的原因和解决方案

    转载: 建议大家找的时候直接搜索错误代码 比如 3 ::6 帖内搜索快捷键 CTRL+F 另请注意,部分错误代码的报错提示信息有两种或两种以上,如果查到的代码和你的问题不符,请继续查找本代码 3 :: ...

  4. 使用DmAPService脚本启动dmap服务报错,报错信息:“failed to get ps!”

    问题描述 使用DmAPService脚本启动dmap服务报错,报错信息:"failed to get ps!" 排查解决 1.根据报错信息以及DmAPService服务脚本内容可以 ...

  5. pycharm安装pytorch报错 提示系列问题 torch 包找不到因为pip版本低,结果升级了pip从19.3到20.2 4又提示高版不支持torch安装

    pycharm安装pytorch报错 提示系列问题  torch 包找不到因为pip版本低,结果升级了pip从19.3到20.2 4又提示高版不支持torch安装 DEPRECATION: The - ...

  6. 启动 docker 容器报错 (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0

    前言 centos7 phpstudy 1.2 linux 版 启动 docker 容器报错 shell> docker start nexus3 Error response from dae ...

  7. mysql 启动服务1067_windows无法启动MySQL服务报错1067的解决方法

    突然登陆MySQL时,出现禁止访问或者无法连接到数据库,回到服务,去打开wampmysqld ,发现 "windows无法启动MySQL服务 错误1067" ,死活启动不了,咋办? ...

  8. VS发布网站时,报错提示:“未能将文件xxx复制到xxx,未能找到文件xx”三种解决方案!...

    发布网站时候大家可能会遇到这样的情况,就是报错提示说:"未能将文件xxx复制到xxx,未能找到文件xx",这个问题一般来说有三种解决方案,个人倾向第三种,如图: 解决方案如下: 方 ...

  9. IDEA中启动项目一直报错,找不到符号或 程序包不存在常见处理方式

    新安装的idea,配置与maven都安装好了,运行其他项目都正常,但运行某个项目时报错,提示:"Error:(4, 25) java: 找不到符号符号:类 xxx位置:程序包 xxx.xxx ...

最新文章

  1. SQL compute by 的使用
  2. MATLAB可视化实战系列(四十二)-图像特征提取-使用低秩 SVD 进行图像压缩实例
  3. MessagePack:一种高效二进制序列化格式
  4. java enum枚举的使用详情(实例与原理分析)
  5. Python基础教程:类的property特性
  6. 博客目录(python相关)
  7. 2019.08.29定时器以及轮播图
  8. java 源码学习,Java源码剖析34讲学习笔记~4
  9. 4月27日—5月1日三年级课程
  10. 解决联想小新air13pro笔记本电脑插入耳机没声音的问题
  11. MapServer 7.0.3 Documentation 翻译
  12. SQLserver服务器修复,sqlserver数据库修复工具大师官方版
  13. 怎么完成一个无尽的长列表
  14. 硬件混合渲染器 (HWC)
  15. 本地无法打开localhost或127.0.1解决方案
  16. 安装向导无法创建文件夹
  17. 阿里云部署Tiny Tiny RSS踩坑笔记
  18. 工业智能网关BL110详解之八十五: 实现西门子S7-1200 PLC接入OPC UA云平台
  19. Myeclipse --The type java.lang.CharSequence cannot be resolved. It is indirectly referenced ---
  20. 教育部人工智能科技创新专家组2名单(公号回复“教育部AI工作组”下载PDF资料,欢迎转发、赞赏支持科普)

热门文章

  1. seata神坑,enableAutoDataSourceProxy无法关闭
  2. 智鼎在线测评行测题记录
  3. 05.OpenWrt-写入mac地址
  4. HTTP中的options请求详解
  5. 更改Eclipse中js文件的编辑方式,从而可以利用ctrl键快速定位方法
  6. 最新小米易支付系统源码
  7. MATLAB下载处理.nii文件资源包(NIfTI_20140122zip)
  8. Android6.0 MTK 需求文档(六)
  9. python gui包_超酷 Python 程序包 ,一行代码搭建 GUI 界面
  10. 国产操作系统逐步强大,Linux操作系统成为主流