前言:

相信很多使用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自动化工具的下载与安装的更多相关文章

  1. MySQL Server类型之MySQL客户端工具的下载、安装和使用

    本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...

  2. MySQL Server类型之MySQL客户端工具的下载、安装和使用(博主推荐)

    本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...

  3. MySQL Workbench类型之MySQL客户端工具的下载、安装和使用

    本博文的主要内容有 .MySQL Workbench的下载 .MySQL Workbench的安装 .MySQL Workbench的使用 个人推荐,比较好的MySQL客户端工具 注意啊! 对于noi ...

  4. MySQL学习(一)MySQLWorkbench(MySQL可视化工具)下载,安装,测试连接,以及注意事项

    PS:MySQLWorkbench是MYSQL自带的可视化工具,无论使用哪个可视化工具,其实大同小异,如果想以后走的更远的话,可以考虑使用命令行操作数据库MYSQL.可视化工具让我们初学者更能理解数据 ...

  5. 在Mac OS X 通过抓包、“第三方下载工具”加速下载、安装APP或系统

    #!/bin/bash ######################################################################################## ...

  6. 微信小程序-工具的下载与安装

    QQ讨论群:785071190 安装开发工具 前往 开发者工具下载页面 ,根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 <开发者工具介绍> .工具安装非常 ...

  7. 【开发工具】- Xshell工具的下载和安装

    下载地址:https://www.netsarang.com/zh/free-for-home-school/ Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Micro ...

  8. Vue自动化工具(Vue-CLI)的安装

    安装VUM 前面学习了普通组件以后,接下来我们继续学习单文件组件则需要提前先安装准备一些组件开发工具.否则无法使用和学习单文件组件. 一般情况下,单文件组件,我们运行在 自动化工具vue-CLI中,可 ...

  9. autoIT 自动化上传/下载文件图文详解【python selenium】

    情景: 在用selenium进行web页面自动化时,时不时会遇到上传附件的情况,常见的情况就是一个上传按钮,点击后弹出windows窗口,选择文件后上传,如下图1所示 图1 这种情况超出了seleni ...

  10. vue 组件开发、vue自动化工具、axios使用与router的使用(3)

    一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...

随机推荐

  1. 2023最新版Selenium 4.6.0语法快速入门

    简介 Selenium是一款强而有力的前端应用测试工具,也非常适合搭配Python作为网络爬虫的工具:Selenium可以模拟使用者所有浏览器操作的动作,包括输入文本.点击按钮及拖拽进度条等.有鑑于新 ...

  2. 12组-Beta冲刺-5/5

    一.基本情况 队名:字节不跳动 组长博客:https://www.cnblogs.com/147258369k/p/15609352.html Github链接:https://github.com/ ...

  3. 二、chaosblade实现k8s集群操作

    1.执行 Kubernetes 实验场景,需要提前部署 ChaosBlade Operator,Helm 安装包下载地址 https://github.com/chaosblade-io/chaosb ...

  4. oracle导出csv文件后导入mysql

    场景: oracle数据库中有与mysql同名表,需要将oracle表数据导入mysql,需要手工操作 工具: navicat premium 解决方案: 1.使用plsql工具从oracle导出cs ...

  5. Error:java: 无效的目标发行版: 9

    今天碰到一个编译问题,起先以为是jdk版本问题,但是查看了下,发现版本没错. 顿时有一种怀疑人生的感觉. 然后网上找了许久,终于让我找到答案: 下面直接上解决方案: 将版本9改为8,保存,测试运行,可 ...

  6. 火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的互转

    /**火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的互转  * Created by macremote on 16/5/3.  */ function GPSUtil (){   v ...

  7. Webrtc audio

    整体理解 在 WebRTC 中,Call 是peer connection 的. 为 WebRTC Call 注入的 AudioState 来自于全局的 MediaEngine 的 VoiceEngi ...

  8. go ice相关配置

    set GO111MODULE=on set GOPROXY=https://goproxy.cn,direct set GOPRIVATE=*.jd.com go get git.jd.com/ch ...

  9. oracle之如何获取执行计划方法

    1.什么是执行计划 为了执行sql语句,Oracle在内部必须实现许多步骤,这些步骤可能是从数据库中物理检索数据行,或者用某种方法来准备数据行等,接着Oracle会按照一定的顺序一次执行这些步骤,最后 ...

  10. v3.x compoistion api 是什么

    在Vue 2.x的基础上要解决的问题: 1. 更低成本的达到逻辑复用(mix in :混入,找不着,命名冲突) 2. 代码组织 3. 类型推导更稳定 目标:使得Vue在大型应用中更有竞争力.