uiautomator2自动化工具的下载与安装
前言:
相信很多使用appium做过APP自动化的人都深有感触:
1,安装麻烦,配置环境可能会难道不少人
2,appium运行慢、时间长
3,uiautomatorviewer定位元素时得关掉appium server
4,在低版本的appium上获取toast需要切换automationName
5,等等,更多 appium 与 uiautomator2 的区别可自行百度
uiautomator2简介:
uiautomator2是uiautomator的升级版,uiautomator是Google开发的一款用来做安卓自动化测试的Java库,uiautomator2则是将uiautomator中的接口封装成了Python库。因此它支持的语言为Python
UIAutomator2是一个可用于Android设备的U自动化测试的Python库,其底层基于谷歌官方提供的Ul Automator,可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。与谷歌原生的Ul Automator不同的是,UIAutomator2提供了便利的Python接口,允许测试人员使用Python 编写测试脚本,并且在电脑上运行时就能控制手机、完成自动化,大大提高自动化代码编写的效率。
uiautomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。它本来是Google提供的一个自动化测试的Java库,后来发展了python-uiautomator2,封装了谷歌自带的uiautomator测试框架,提供便利的python接口,用它可以很便捷的编写python脚本来实现app的自动化测试。
GitHub源码地址: https://github.com/openatx/uiautomator2
工作原理:
1. 在移动设备上安装atx-agent(守护进程),随后atx-agent启动UlIAutomator2服务进行监听
2. 在PC上编写测试脚本并执行(相当于发送HTTP请求到移动设备的server端)
3. 移动设备通过WIFI或 USB接收到PC上发来的HTTP请求,执行指定的操作
环境准备:
python版本(PC):3.6+ python安装方法见:Python3 环境搭建 | 菜鸟教程 (runoob.com)
Andorid版本:4.4+ 现在基本都是4版本以上了,所以不必担心
ADB环境(PC):https://www.cnblogs.com/gancuimian/p/15561480.html
安装 UIAutomator2:
按下快捷键 Win+R,输入cmd、回车执行,呼出 cmd窗口输入下方命令行,回车执行,等待安装过程自动完成
pip install --pre uiautomator2
图像处理库,可用于截图(可选安装) pip install pillow
手机安装atx-agent:
这一步的目的是从github上下载atx-agent,推送到手机。
打开设置-我的手机,连续点击“版本号”数次,系统提示“已启用开发者选项”,返回设置列表;依次打开系统-开发者选项,下拉找到“USB调试”,并开启该选项,系统会出现以下提示,勾选授权并允许
电脑端打开cmd窗口,输入adb devices,查看是否能够发现设备并显示序列号
随后执行下面的命令,安装手机端所需的程序atx-agent
python -m uiautomator2 init
注意,手机上可能会弹出是否允许安装的弹窗,点击允许即可
等待安装过程自动完成,最后提示 Success,代表atx-agent初始化成功,此时手机桌面会新增名为“ATX”的应用程序,安装成功
安装weditor:weditor是脚本编写辅助工具,可以快速识别手机上的元素、查看组件信息,并且支持通过Web 界面直接操作手机,以及生成UIAutomator2代码、词试代码,方便测试人员使用
pip install -U weditor
安装过程中可能会报错,出现以下提示或者其它错误提升:
原因是weditor不支持Python 3.1以上版本直接安装,在此采取以下解决途径:
1,下载安装 Git:git安装教程及环境配置 - grigeorge - 博客园 (cnblogs.com) 或者 https://www.liaoxuefeng.com/wiki/896043488029600
2,执行如下命令(可使用Git Bash 命令窗口):
git clone https://github.com/openatx/weditor
pip3 install -e weditor
安装成功后,启动并创建桌面快捷图标: python -m weditor --shortcut
当然也可以不创建图标,用命令行启动: python -m weditor
创建完成后,桌面会出现一个WEditor快捷图标,双击就能启动了
weditor初始界面如下:
Connect 按钮用于连接没备,左侧输入框可以输入设备序列号(adb devices获得)或者IP地址(需要设备与电脑连接同一网络);
DumpHierarchy 用于进行同步,当操作手机时,页面可能未同步,可以点击该按钮进行同步(或者直接选择实时同步)。
也可以在该页面上直接操作手机,例如点击元素、输入内容、锁屏亮屏等。
下面是连接上个人手机的展示页面
weditor 的优势在于:
1,可以同时管理多个设备
2,直接在调试界面操作手机,不需要另一只手去动手机
3,自动生成 uiautotor 代码。
uiautomator2 的下载安装完毕。
如果连接设备或刷新页面时报错,如下图:
解决方法:
第一步:卸载掉手机上的 ATX “小汽车”,
第二步:执行下该命令:python -m uiautomator2 init
第三步:再次启动即可,也可使用命令启动:python -m weditor
注意:app又分为 原生页面和H5页面,通过 appium或者uiautomator2是无法定位到 H5 页面的元素的,所以还要下载一个 UC开发者工具 ;何为 uc开发者工具,可以参考:http://wjhsh.net/Sammy-chen-p-10032703.html
更新:上面uc的官网404访问不了了,估计是永久关闭了。
工具的下载可以网上搜一下,通过各种第三方渠道下载:https://www.duote.com/soft/439353.html or http://www.winwin7.com/soft/51227.html 等等
或者从我这个网盘里面下载(适用系统 Windows):
链接:https://pan.baidu.com/s/10ctrcwM8dDF5QP2yHfQsmA
提取码:ndkb
常用方法:
uiautomator2 常用方法:https://www.cnblogs.com/gancuimian/p/16947337.html
uiautomator2 常用公共方法封装:https://www.cnblogs.com/gancuimian/p/16948536.html