UI Recorder 安装教程(二)
前言:
UI Recorder支持无线native app(Android, iOS)录制, 基于macaca实现:https://macacajs.com/
本次教程只针对无线native app(Android),仍然是windows系统
步骤一:全局安装macaca
执行cmd命令:npm i -g macaca-cli
如果看到如下可爱的图案,那恭喜你安装成功啦!重新安装则会覆盖更新。

步骤二:Android 环境准备
1、安装 JDK,要求 1.8 或更高版本
2、安装 Android SDK Build-tools 25.0.2、API25、Android Support Repository(此处注意Build-tools应和API相互对应)

3、若Android SDK无法更新,请设置tools-option,网址:mirrors.neusoft.edu.cn,端口:80,见下图。

3、安装Android NDK(下载地址:链接: https://pan.baidu.com/s/1pLODwx1 密码: jgsb)
下载zip文件,解压到本地,并设置ANDROID_NDK_HOME,加入PATH中。

4、安装Gradle
https://gradle.org/releases/,在此页面下载zip包,解压并加入环境变量(在PATH中加入%GRADLE_HOME%\bin)。

5、安装UIAutomatorWD
执行cmd命令:npm i uiautomatorwd --save
6、准备 App 包:如需要测试 Android 应用,请使用.apk格式的包。
步骤三:安装驱动(不同驱动适应不同平台的支持)
驱动可以按照自身需要选择性的安装:
Android的安装命令:$npm i macaca-android -g
步骤四:环境检查
执行cmd命令:macaca doctor,可以检查环境是否配置成功。
如下图所示则表示环境均配置正常,如果有标红提示,则需要对应处理。

步骤五:开始手机设备录制
1、检查adb设备连接
执行cmd命令:adb devices,页面列出你当前连接计算机的安卓设备(包括模拟器)

2、初始化配置UI Recorder--mobile
执行cmd命令:uirecorder init --mobile,初始化配置,第一次试用,可一直回车,IP默认为127.0.0.1,端口默认为4444。

3、启动Macaca server
执行cmd命令:macaca server --port 4444 --verbose
4、录制脚本
执行cmd命令:uirecorder --mobile sample/test.spec.js
开始录制脚本,根据需要自行填写。本次截图的测试脚本为sample目录下的test.spec.js文件,app路径需要自行填写需要测试的apk文件路径。

打开录制浏览器的速度较慢,请耐心等待~
此时会打开一个chrome,用来录制你的操作;
手机此时也会自动安装并打开app,你需要在手机中校验Recorder的录制是否正确。

然后直接在浏览器中录制操作流程,可看到页面随时有提示:“执行成功”;完成一个流程后,点击结束录制。

5、查看已录制的脚本文件
结束录制后,可在文件夹sample中看到该脚本,如下图所示。

6、回放脚本
执行cmd命令:macaca run -p 4444 -d sample/test.spec.js --verbose
此处sample/test.spec.js是刚刚命名的保存下来的录制文件
macaca会在手机中重装你的app,然后执行你刚刚录制的操作,即可在cmd窗口中查看回放脚本的步骤,执行时间,执行结果等。

步骤六:运行脚本
执行cmd命令:
1、运行所有脚本:run.bat
2、运行单个脚本:run.bat sample/test.spec.js
步骤七:查看测试报告
运行脚本后,会自动保存测试报告,在目录reports下index.html、index.xml、index.json

UI Recorder 安装教程(二)的更多相关文章
- UI Recorder 安装教程(一)
前言: UI Recorder 是一款零成本UI自动化录制工具,类似于Selenium IDE. UI Recorder 要比Selenium IDE更加强大! UI Recorder 非常简单易用. ...
- UI Recorder安装与使用
现在的互联网公司,普遍在尝试并执行敏捷开发模式,那么必然要涉及到频繁的更新迭代,在每次更新迭代时,老功能的回归成为了老大难.当系统日益复杂,涉及到的回归点逐渐增多,UI自动化测试即使成本在大,也需要提 ...
- UI Recorder 功能详解
前言: UI Recorder安装教程见:UI Recorder 安装教程(一).UI Recorder 安装教程(二) 本次着重介绍UI Recorder录制过程中的功能按钮:添加悬停,添加断言,使 ...
- 2021最新WordPress安装教程(二):安装PHP和MySQL
这是 2021最新WordPress安装教程系列的第二篇文章,前一篇文章< 2021最新WordPress安装教程(一):Centos7安装Apache>已经完整的介绍了如何在Centos ...
- (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)
安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...
- Python3.7和数据库MySQL交互(二)SQLyog安装教程
首先安装MySQL数据库,初学者建议选择图形化客户端. Toad for MySQL.MySQL-Front.Navicat for MySQL.SQLyog. 官方下载链接: Toad for My ...
- Android Studio的下载和安装教程(从ADT到AS)
之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...
- 调研Android Studio开发环境的发展演变(附安装教程,多图)
Android Studio(以下简称AS)第一次公开亮相是在2013年的谷歌I/O大会上,14年的大会上谷歌发布其试用测试版,如今AS已经历数次版本更新,功能十分强大.如(摘自百度百科Android ...
- creo5.0安装教程(图文详解)
PTC公司最近发布了Creo 5.0正式版 ,作为最具其革命性的新一代产品设计软件,其所提供专业的二维和三维设计设计,能帮助企业和公司进行产品生命周期管理(PLM)和制定服务管理解决方案.Creo5. ...
随机推荐
- Tidb进行缩减扩容tikv节点
这两天接到任务说是要进行测试缩减机器给集群带来的负面效果有哪些. 然后我就按照官方的教程将机器进行了缩减,主要是缩减tikv节点 我们先来看看官方的文章是怎么写的: 步骤都没有什么问题,就是进行到第二 ...
- vue组件-子组件向父组件传递数据-自定义事件
自定义事件 我们知道,父组件是使用 props 传递数据给子组件,但如果子组件要把数据传递回去,应该怎样做?那就是自定义事件!
- Volley源码分析(一)RequestQueue分析
Volley源码分析 虽然在2017年,volley已经是一个逐渐被淘汰的框架,但其代码短小精悍,网络架构设计巧妙,还是有很多值得学习的地方. 第一篇文章,分析了请求队列的代码,请求队列也是我们使用V ...
- BZOJ2580:[USACO]Video Game(AC自动机,DP)
Description Bessie is playing a video game! In the game, the three letters 'A', 'B', and 'C' are the ...
- 构造方法,this关键字,static关键字,封装
1.构造方法 定义:构造方法是指实例化对象的方法 语法:[修饰符] 类名(参数){ } 根据有无参数分为有参构造和无参构造 1)有参构造 语法:[修饰符] 类名(type 实例变量,int ...
- Python2.7-array
array 模块,定义了 array 对象的一组数据,和 list 类似,只不过 array 对象的数据类型不能改变,和c/c++一样,主要用于打包和解包二进制数据,应该是用于网络通信较多 数据类型有 ...
- odoo 之报date<form string=''product lc''> 错误
原因是: </page> </notebook> </form> <div class="oe_chatter"> <fiel ...
- final、finally、 finalize 有什么不同
感觉这三者除了长得像也没啥可作为比较的,但是面试题中经常会出现这三者的比较,就简单总结一下. 1.final final 可以用来修饰类.方法和变量,修饰类的时候表示类是不可以被继承的,修饰方法的时候 ...
- Bat 批处理杀死进程 重新启动程序
@echo offset pa=%cd%taskkill /F /IM wgscdTool.exeecho %pa%\wgscdTool.exeping /n 2 127.1>nulstart ...
- Js读取XML文件为List结构
习惯了C#的List集合,对于Javascript没有list 极为不舒服,在一个利用Js读取XML文件的Demo中,决定自己构建List对象,将数据存入List. 第一步,Js读取XML文件知识 X ...