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定义功能的特效,因此就产生了一个功能先关的代码 ...
随机推荐
- windows系统mysql8.0.20.0踩坑(-)
首先, 下载mysql-installer-web-community-8.0.20.0.msi 一步一步安装下来,一切看起来如此美好 cmd运行mysqld --install 但发现net sta ...
- 是时候开始写总结了-今日总结-vue单页面制作
今天哥给了我一个页面,让做出类似的. <h2>就直接说下页面用到的知识点吧</h2> 首先说下该页面使用的是vue2+less 直接写 导入模块时就只导入了cnpm i l ...
- react hooks组件父组件调用子组件方法
函数组件父组件调用子组件方法需要使用 useImperativeHandle 和 forwardRef 两个方法 1.子组件 2.父组件 注意:一定要使用ref来接从子组件传过来的实例值,用其他的在函 ...
- UI工具
sketch figma Adobe Photoshop Adobe Illustrator adobe xd
- CMMI-QA工作流程(角色区分)
qa 是如何工作的,如何保证产品质量的? 首先制定质量保证计划->根据过程清单和产品清单对组织级和项目级内容进行检查->不符合项记录在不符合项问题记录表中.反馈项目精力,跟踪问题知道问题解 ...
- 对VC中有关数据类型转换的整理
原文地址:http://spaces.msn.com/wsycqyz/blog/cns!F27CB74CE9ADA6E7!152.trak 对VC中有关数据类型转换的整理 说明:本文纯粹是总结一下 ...
- 通过EXCEL/WPS文件,拼接SQL,刷数据库数据
WPS如何把日期变成文本格式? [快捷选择同一列多条记录]同一列,鼠标左键标记A,SHIFT+鼠标左键标记B ,等于选择A-B的之间的数据 [向下填充]在第一行输入数据,选择同一列A-B的之间的数据, ...
- under display camera
https://yzhouas.github.io/projects/UDC/udc.html https://zhuanlan.zhihu.com/p/389863230 MIPI 2022 Cha ...
- Java 01-Java常用类 System
System类:系统类,主要用于获取系统的属性和方法,没有构造方法 System的属性都是静态属性,方法都是静态方法 方法: 获取当前系统时间 currentTimeMillis() 返回的是毫秒值 ...
- php递归设置文件的权限
function recursiveDelete($dir) { // 打开指定目录 if ($handle = @opendir($dir)) { while (($file = readdir($ ...