Uiautomator2
Uiautomator2是一个Android应用的自动化测试工具,支持Python语言。基于Android的UiAutomator工具,使用Python封装并改进。
简介
时间轴
Uiautomator2与Appium
名称 | 优点 | 缺点 |
---|---|---|
Uiautomator2 | 安装简单,语法简洁 | 仅支持Android |
Appium | 使用稍复杂,企业级自动化测试 | 支持多平台,多语言 |
安装
- 1.安装Python。
- 2.安装一款代码编辑器如VS Code。
- 3.Android手机或Android模拟器(如BlueStacks)。
- 4.安装Android adb,adb 包含在 Android SDK 平台工具软件包中。下载后解压缩,将该目录添加到环境变量中,如Windows环境变量Path中。在cmd端口数据adb显示版本信息即安装成功。
- 5.adb连接到手机或模拟器,终端输入
adb devices
查看已经连接的设备,没有手动连接,如adb connect localhost:端口号
端口号在模拟器中查看。 - 6.使用pip安装uiautomator2:
pip3 install -U uiautomator2
- 7.安装weditor,方便查看App界面的元素信息。
pip3 install -U weditor
基础知识
入门示例
import uiautomator2 as u2
# 连接手机
device = u2.connect()
# 打印设备信息
print(device.device_info)
# 打开企业微信
device.app_start("com.tencent.wework")
# 打印当前正在运行程序的包名
print(device.app_current())
连接设备
首先导入uiautomator2
import uiautomator2 as u2
名称 | 描述 | 示例 |
---|---|---|
自动连接 | 当只有一台手机连接到adb,可以不加参数,自动连接。 | d = u2.connect()
|
通过WiFi连接 | d = u2.connect('10.0.0.1') d = u2.connect_wifi('10.0.0.1')
| |
通过USB | d = u2.connect('123456f') d = u2.connect_usb('123456f')
| |
通过ADB WiFi | d = u2.connect('10.0.0.1:5555') d = u2.connect_adb_wifi("10.0.0.1:5555")
|
了解更多 >> Uiautomator2 文档:连接设备
资源
官网
- Uiautomator2 源代码:https://github.com/openatx/uiautomator2
- Uiautomator2 文档:https://github.com/openatx/uiautomator2
- Uiautomator2 快速参考指南:https://github.com/openatx/uiautomator2/blob/master/QUICK_REFERENCE.md
- Uiautomator2 xpath extension 文档:https://github.com/openatx/uiautomator2/blob/master/XPATH.md