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定义功能的特效,因此就产生了一个功能先关的代码 ...
随机推荐
- ubuntu新建的用户的终端前不能/没有显示路径
在/etc/passwd中找到相应用户,并将/bin/sh改为/bin/bash.然后重启
- (0501)phase机制
(1)启动seq: (2) 0312:
- 【Java学习Day10】类型转换
类型转换 由于Java是强类型语言,所以要进行某些运算的时候,需要用到类型转换 低------------------------------------------>高 byte-->s ...
- [笔记] 什么是Groovy?什么是Kotlin?
关于Groovy 参考文章 https://www.w3cschool.cn/groovy/ 摘抄如下: Groovy是JVM的一个替代语言(替代是指可以用 Groovy 在Java平台上进行 Jav ...
- EMQX 在 Kubernetes 中如何进行优雅升级
背景 为了降低 EMQX 在 Kubernetes 上的部署.运维成本,我们将一些日常运维能力进行总结.抽象并整合到代码中,以 EMQX Kubernetes Operator 的方式帮助用户实现 E ...
- 戴尔n4110的独显驱动黄色感叹号问题的解决方法
直接开门见山: 要下载旧版驱动R302028.exe,但是戴尔似乎下掉了,找到了代替的地址 下载地址如下: http://soft.onlinedown.net/soft/556280.htm ,下载 ...
- UI基础 - UIAppearance协议
前言 1 - 在一些 app 中会涉及到更改外观设置的功能,最普遍的就是夜间模式和白天模式的切换,而对于外观的更改必定是一个全局的东西.这在 iOS5 以前想要实现这样的效果是比较困难的,但是 iOS ...
- 央行DR007在哪里查看
1.中国外汇交易中心,点击官网进入 https://www.chinamoney.com.cn/chinese/ 2.点击数据选项,接着选择货币市场行情 3.点击质押式回购
- 面试之CAS
1.CAS(Compare And Swap)比较并替换,是线程并发运行时用到的一种技术或者算法,CAS与之对应的是一些锁技术,,例如synconozied,同事这种比较替换的思想也可以运用到数据库上 ...
- jupyter notebook相关笔记
导出pdf时隐藏代码 参考:https://segmentfault.com/q/1010000043309446