学习uiautomator2 使用python测试安卓应用,偷懒看看

吾乃测试人员,刚步入测试行业半年时间,很多知识需要不断学习强化。由于工作中很多操作需要重复多次,然后对测试情况进行总结概括,为了偷懒,所以学习uiautomator2,使用python测试安卓应用,让应用跑起来,减轻测试压力。

首先,请允许我推荐一篇技术大牛的博客,非广告,跟着大神走,有肉肉吃。
https://www.cnblogs.com/fnng/p/8486863.html

我是按照大牛的博客内容进行学习的,学习中遇到的问题如下:
1、Ui aotumator viewer获取手机控件报错,Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!

解决办法:
通过度娘,得知以下答案
a:进入cmd,运行adb root命令 对我无效
b:拔掉USB线,重连手机 对我无效
c:检查USB线是否正常 线正常,but还是连接不上
d:关闭appium 没有打开appium,无效
e:重启手机 完美解决问题,请注意看我后面的原因,少走弯路
f:检测测试系统版本是否是4.2及以上的版本 未尝试,maybe属于你

后面想了重启手机成功的原因:
手机重启,ATX应用中UIAUTOMATOR是关闭的,所以能有效解决问题。
更深次的原因是因为运行uiautomator2时,uiautomatorviewer.bat会运行不起来,两者之间冲突比较严重。而每次运行python脚本时,需要启动uiautomator2,所以运用Ui aotumator viewer获取控件失败。
更有效的解决办法有两种,你可选择其中一种进行尝试:
a、每次用uiautomatorviewer.bat获取控件时,在ATX中关闭UIAUTOMATOR;每次运行python脚本时,再打开UIAUTOMATOR。
b、按照大牛博客中的工具weditor 进行获取控件,更推荐用手机的序列号(通过adb devices可以获取)进行连接,我用IP进行了连接,可能因为办公室的网太差,或者PC端和手机端网不在网段上,失败了。但是用IP可以连接成功,我用另外一台PC设备试验成功的。

2、ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

解决办法:
a、检查手机是否成功安装atx-agent,没有安装成功请重新配置环境
b、手机成功安装atx-agent时,在手机的ATX应用中启动UIAUTOMATOR

因为第一个问题,折腾了蛮长时间,经过两天的捣鼓,我终于写好了想要的test case,成功运行。现在就让它自己跑吧,我要休息一会了。嘻嘻,相信你也可以的!

你可能感兴趣的:(学习uiautomator2 使用python测试安卓应用,偷懒看看)