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
uiautomator2自动化工具的下载与安装的更多相关文章
- MySQL Server类型之MySQL客户端工具的下载、安装和使用
本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...
- MySQL Server类型之MySQL客户端工具的下载、安装和使用(博主推荐)
本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...
- MySQL Workbench类型之MySQL客户端工具的下载、安装和使用
本博文的主要内容有 .MySQL Workbench的下载 .MySQL Workbench的安装 .MySQL Workbench的使用 个人推荐,比较好的MySQL客户端工具 注意啊! 对于noi ...
- MySQL学习(一)MySQLWorkbench(MySQL可视化工具)下载,安装,测试连接,以及注意事项
PS:MySQLWorkbench是MYSQL自带的可视化工具,无论使用哪个可视化工具,其实大同小异,如果想以后走的更远的话,可以考虑使用命令行操作数据库MYSQL.可视化工具让我们初学者更能理解数据 ...
- 在Mac OS X 通过抓包、“第三方下载工具”加速下载、安装APP或系统
#!/bin/bash ######################################################################################## ...
- 微信小程序-工具的下载与安装
QQ讨论群:785071190 安装开发工具 前往 开发者工具下载页面 ,根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 <开发者工具介绍> .工具安装非常 ...
- 【开发工具】- Xshell工具的下载和安装
下载地址:https://www.netsarang.com/zh/free-for-home-school/ Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Micro ...
- Vue自动化工具(Vue-CLI)的安装
安装VUM 前面学习了普通组件以后,接下来我们继续学习单文件组件则需要提前先安装准备一些组件开发工具.否则无法使用和学习单文件组件. 一般情况下,单文件组件,我们运行在 自动化工具vue-CLI中,可 ...
- autoIT 自动化上传/下载文件图文详解【python selenium】
情景: 在用selenium进行web页面自动化时,时不时会遇到上传附件的情况,常见的情况就是一个上传按钮,点击后弹出windows窗口,选择文件后上传,如下图1所示 图1 这种情况超出了seleni ...
- vue 组件开发、vue自动化工具、axios使用与router的使用(3)
一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...
随机推荐
- [Swift]Swift图片显示方式设置,控件UIImageView的contentMode属性设置
contentMode属性是用来设置图片在UIImageView中的显示方式,如:拉伸.居中.填充等. 这里讨论的是UIImageView宽高固定,图片宽高不确定的情况.如社交APP的相册缩略图.手机 ...
- 12组-Beta冲刺-总结
组长博客链接 https://www.cnblogs.com/147258369k/p/15615820.html 一.基本情况 1.1 现场答辩总结 柯老师意见: 面向普通用户群体推出排行榜功能 增 ...
- Nginx/1.13.3热升级1.21.6
背景: 根据其服务器响应标头,安装的 nginx 版本为低于 1.16.1 的 1.9.5,或是低于 1.17.3 的 1.17.x.因此,它受到多种拒绝服务漏洞的影响: - HTTP/2 协议堆栈中 ...
- 达芬奇18.1.2安装包下载+软件详细破解安装教程(Win&Mac)
DaVinci Resolve v18.1.2是一款在同一个软件工具中,将剪辑.调色.视觉特效.动态图形和音频后期制作融于一身的解决方案!它采用美观新颖的界面设计,易学易用,能让新手用户快速上手操作, ...
- oracle中 null 和 '' 和' '的比对
SELECT LENGTH(''),LENGTH(NULL),LENGTH(' '),LENGTH(TRIM(' ')) FROM dual; 返回结果为 null,null,1,null 也就是在o ...
- C# Socket 通信
C# Socket通信 Socket通信主要分为两部分,服务端和客户端,其中服务端和客户端都具有接收消息和发送消息的功能,具体通信流程就是服务端先去监听一个端口号,等待客户端的连接,客户端通过指定IP ...
- 123data路径
/zhf/Innosky2021/data/dayantahttp://123.xx.xx.147:8888/cesiumdemo/data/dayanta/tileset.json
- 思科IPsecVPN建立
实验拓扑 实验目标: 1.不配置中间的三个路由器的路由实现router0和router2的vpn隧道 2.PC0能够ping通PC1 实验IP预定: PC0 10.1.1.1/24 PC1 20.1. ...
- PyTables 教程(三) 执行撤消/重做功能,使用枚举类型,表中的嵌套结构
翻译自http://www.pytables.org/usersguide/tutorials.html 执行撤消/重做功能 PyTables 支持撤销/重做功能,此功能可让您将标记放置在层次结构操作 ...
- Mac聚焦搜索无法搜索应用问题处理
问题描述 打开聚焦搜索(快捷键:command + space)后,发现安装的应用搜索不到. 参考文章 https://blog.csdn.net/fox_lori/article/details/1 ...