赞
踩
找了几篇文章了解了它的原理
官方文档
uiautomator2 安装后是python的一个库,含有大量的API接口,允许python编写测试代码操控app,可以做Android的UI自动化测试
工作原理:
如图:python-uiautomator2主要分为两个部分,python客户端,移动设备
整个过程
其实环境搭建和初始化的时候,除了python安装uiautomator库,初始化设备的时候:python -m uiautomator2 init 设备上安装这5个东西:前台atx-agent (小黄车), uiautomator_apk (后台server)、 minicap 、minitouch、、uiautomator_apk安装了app-uiautomator.apk和app-uiautomator-test.apk两个server apk
atx-agent (可以直接在安卓上运行的二进制程序)
app-uiautomator.apk (UiAutomator2服务,Toast)
app-uiautomator-test.apk (UiAutomator2服务)
minicap 用于手机的快速截图
minitouch 用于远程控制
当时测试项:旋转屏幕 菜单》屏幕显示》90°》返回》退出》重启生效:是
由于系统关机,uiautomator识别不到手机,超时报错,后续用例全部报错。
解决方法:在服务停止前,手动将服务关闭,等待开机;关机后手动开启服务。
这是折中的方法,因为等待系统开机,等待adb连接是一个无法准确估时的步骤,我采用了定时等待的方法,肯定会有些不严谨。
后续,若是可以重启后服务自动重连,继续测试,可以补充改善。
#等待app重启,由于关机服务停止,会报错。
#解决方法:在服务停止前,手动将服务关闭,等待开机;关机后手动开启服务
d.uiautomator.stop()
time.sleep(30)
d.uiautomator.start()
d1 = u2.connect_usb(sn)
参考文章:https://www.cnblogs.com/onlyhold/p/10546497.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。