UIAutomator2是一个可用于Android设备的U自动化测试的Python库,其底层基于谷歌官方提供的Ul Automator,可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。与谷歌原生的Ul Automator不同的是,UIAutomator2提供了便利的Python接口,允许测试人员使用Python 编写测试脚本,并且在电脑上运行时就能控制手机、完成自动化,大大提高自动化代码编写的效率。

1.安装UIAutomator2:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --pre -U uiautomator2

-i 参数来指定镜像源为清华大学镜像源。
--pre 参数用于安装预发布版本(如果有)。
-U 参数用于升级已安装的 uiautomator2 库到最新版本。

  1. 安装adb
    检查当前windows电脑是否可执行adb命令,如不能,按以下步骤安装adb。

2.1 下载adb
下载地址:https://dl.google.com/android/repository/platform-tools-latest-windows.zip

2.2 解压
下载成功后解压到任意文件夹,并配置好环境变量即可。

2.3 查看设备
adb devices
List of devices attached
127.0.0.1:7555 device
mumu模拟器找不到设备时:adb connect 127.0.0.1:7555 ,重新查看adb devices
输入命令:adb shell pm list packages 查看apk安装包名

3 手机设备上安装atx-agent
pycharm 中执行 adb devices 查看设备是否连接成功,在Python的虚拟环境(venv)中,如果系统中的adb无法识别,重启pycharm,再次尝试
检查设备正常后执行:
python -m uiautomator2 init
出现如图这种显示successfully且模拟器有atx小车图标显示时,表示初始化成功:

  1. 下面是一个使用Python编写的UIAutomator2启动apk的示例代码:

    from uiautomator2 import Device

    # 连接设备
    device = Device('设备序列号')

    # 启动apk
    package_name = 'com.example.app'
    activity_name = 'com.example.app.MainActivity'
    device.app_start(package_name)

    # 或者可以使用包名和活动名启动apk
    # device.app_start(package_name, activity_name)

    # 可选的等待时间,确保应用完全启动
    device.wait_activity(activity_name, timeout=10)

  2. 元素定位weditor
    安装weditor
    pip3 install weditor==0.6.4,下载0.6.4版本即可,如果不指定版本会提示报错

5.1 启动weditor
python -m weditor启动weditor,这时浏览器会自动打开一个网页,到这里就能正常获取想要的控件,如果app页面变化点击右上角dump hierarchy刷新即可

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/xchuan/p/17620527.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!