此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途
经常有同学会遇到 poco 不断重启的问题,但是又不知道如何处理,所以今天我们就来详细聊一聊 “poco 重启” 这个话题。
首先,poco 重启的表现是非常明显的,设备屏幕会一直闪烁;或者设备画面底部会出现一个提示: pocoservice:poco service is running one
,并且我们还可以看到 log 里面会重复刷下述的日志:
那 poco 重启可能是有哪些原因导致的呢?我们来详细看下:
这是 “最最最” 常见的 1 个原因,所以放在第一位来说。在许多品牌手机上,我们都需要检查系统设置中,是否有 电池优化相关 或者 后台活跃相关 的选项,并将 PocoService.apk
设为允许自动启动、允许后台运行,否则就非常容易出现 poco 无限重启的问题。
这里我们列举几个常见手机品牌的设置方式:
当然,不同手机品牌,甚至同品牌不同型号手机的配置方式,都有可能不大一样,同学们要自己查找手机里面与 电池优化 和 后台活跃 相关的设置即可,保证给 pocoservice.apk
足够的活跃权限且不被电池优化行为干掉。
网络代理会影响 pocoservice.apk
的启动,所以我们务必关闭 PC 或手机上连接的网络代理 Proxy 。
pocoservice.apk
不能和 uiautomator
同时启动,否则会相互冲突。
Poco 支持 Android SDK API
≥ 19,即 Android 4.4 及以上,如果 Android 版本过低,可能影响 pocoservice.apk
的正常运行。
如果上述原因都排除之后,仍然无法解决 pocoservice.apk
重启的问题;我们可以尝试 重启手机 ;或者卸载掉手机里面的 2 个 poco 相关的 apk,再从最新的 IDE 版本或者 pocoui 库里面找到最新的 pocoservice 的 apk,重新安装 到我们的手机上。
需要注意的是,使用 1.2.11 及更低版本的 AirtestIDE(及 1.0.83 及更低版本的 pocoui),poco 相关的 apk 包含 2 个,所以如果是安装的这些版本的 poco apk,我们需要卸载/重装 2 个 apk,其中 1 个是 pocoservice.apk,它会在我们的手机界面上出现 1 个图标:
另外一个是只有几 K 的 apk,它在手机桌面上不会出现图标,我们可以在应用列表中找到它:
但对于新发布的 1.2.12 版本的 IDE(及 1.0.84 版本的 pocoui),已经将 2 个 apk 合二为一,大大简化了安装流程,同学们只需要安装/卸载 1 个 pocoservice.apk
即可。
举个例子,如同学们之前使用的是 1.2.11 或者更低版本 IDE 安装的 pocoservice.apk
,想要升级到 1.2.12 版本的 pocoservice.apk
,只需要卸载手机桌面上带图标的那个 pocoservice.apk
即可,在 1.2.12 版本的 IDE 选择 Android poco,将会在我们的手机上安装最新版本的 pocoservice.apk
(只会安装 1 个,仅需安装 1 次)。
如果同学们使用了最新版的 IDE1.2.12 版本来查看设备的控件树(即设备安装了 1.2.12 里面的最新的 pocoservice.apk
),但是 IDE 却设置了本地 Python 环境,且该 Python 环境的 pocoui
并未更新到最新版(即 1.0.84 版本),则在运行脚本时,poco 会出现不断重启的情况。
解决办法是将 IDE 设置的本地 Python 环境里面的 pocoui
更新至最新的 1.0.84 版本:
pip install -U pocoui
意思是,如果同学们的设备安装了最新版的 pocoservice.apk
,在 IDE 上查看控件树就必须使用最新版的 IDE,即 1.2.12;运行 poco 脚本时,运行环境里面的 pocoui
也必须是最新版,即 1.0.84 版本。
1.2.11 版本 IDE 里面的 pocoservice
升级后,兼容了一些 H5 页面的控件识别,但 在部分低版本 Android 设备不能正常安装使用(常见于模拟器,因为模拟器的 Android 版本一般较低)。
或者在低版本 Android 设备成功安装后,使用时发现 poco 一直在重启。
这时同学们可以卸载该版本安装的 2 个 pocoservice.apk
,然后安装比 1.2.11 版本更低版本 IDE 的 2 个 poco apk 使用。
但更好的方式是,卸载之后,安装我们最新发布的 1.2.12 版本 IDE 里面的 pocoservice.apk
使用,仅需要安装 1 个 apk 即可。
1.2.11 及更低版本 IDE 里面的 pocoservice.apk
,在高版本 Android 设备上启动时,会提示 “此应用专为旧版 Android 打造......”:
除了点击确定之外,还可以下载我们最新发布的 1.2.12 版本的 IDE,安装里面最新版本的 pocoservice.apk
,在高版本 Android 设备上将不会再出现这个版本过低的提示。
最后,附上 poco 重启排查的思维导图,有需要的同学可以收藏起来哦:
Airtest 官网:https://airtest.netease.com/
Airtest 教程官网:https://airtest.doc.io.netease.com/
搭建企业私有云服务:https://airlab.163.com/b2b
官方答疑 Q 群:654700783
呀~这么认真都看到这里啦,帮忙点击左下角的爱心,给我点个赞支持一下把,灰常感谢~