前言:

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 安装教程(二)的更多相关文章

  1. UI Recorder 安装教程(一)

    前言: UI Recorder 是一款零成本UI自动化录制工具,类似于Selenium IDE. UI Recorder 要比Selenium IDE更加强大! UI Recorder 非常简单易用. ...

  2. UI Recorder安装与使用

    现在的互联网公司,普遍在尝试并执行敏捷开发模式,那么必然要涉及到频繁的更新迭代,在每次更新迭代时,老功能的回归成为了老大难.当系统日益复杂,涉及到的回归点逐渐增多,UI自动化测试即使成本在大,也需要提 ...

  3. UI Recorder 功能详解

    前言: UI Recorder安装教程见:UI Recorder 安装教程(一).UI Recorder 安装教程(二) 本次着重介绍UI Recorder录制过程中的功能按钮:添加悬停,添加断言,使 ...

  4. 2021最新WordPress安装教程(二):安装PHP和MySQL

    这是 2021最新WordPress安装教程系列的第二篇文章,前一篇文章< 2021最新WordPress安装教程(一):Centos7安装Apache>已经完整的介绍了如何在Centos ...

  5. (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)

    安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...

  6. Python3.7和数据库MySQL交互(二)SQLyog安装教程

    首先安装MySQL数据库,初学者建议选择图形化客户端. Toad for MySQL.MySQL-Front.Navicat for MySQL.SQLyog. 官方下载链接: Toad for My ...

  7. Android Studio的下载和安装教程(从ADT到AS)

    之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...

  8. 调研Android Studio开发环境的发展演变(附安装教程,多图)

    Android Studio(以下简称AS)第一次公开亮相是在2013年的谷歌I/O大会上,14年的大会上谷歌发布其试用测试版,如今AS已经历数次版本更新,功能十分强大.如(摘自百度百科Android ...

  9. creo5.0安装教程(图文详解)

    PTC公司最近发布了Creo 5.0正式版 ,作为最具其革命性的新一代产品设计软件,其所提供专业的二维和三维设计设计,能帮助企业和公司进行产品生命周期管理(PLM)和制定服务管理解决方案.Creo5. ...

随机推荐

  1. JavaScript中数组slice和splice的对比小结

    前言 今天重温了一下Javascript,看到了数组的方法,其中有两个比较相似的方法——splice和splice,看着很像,就是多了一个p,但是用法却相当不一样. 在使用中,可以通过选择一个具有强语 ...

  2. BZOJ4556:[TJOI\HEOI2016]字符串(后缀数组,主席树,二分,ST表)

    Description 佳媛姐姐过生日的时候,她的小伙伴从某东上买了一个生日礼物.生日礼物放在一个神奇的箱子中.箱子外边写了一个长为n的字符串s,和m个问题.佳媛姐姐必须正确回答这m个问题,才能打开箱 ...

  3. vue项目 使用nginx代理

    nginx是一个高性能的HTTP和反向代理服务器.因此常用来做静态资源服务器和后端的反向代理服务器.本文主要记录使用nginx去部署使用vue搭建的前端项目,项目基于vue官方的脚手架vue-cli构 ...

  4. Docker技术入门与实战 第二版-学习笔记-2-镜像构建

    3.利用 commit 理解镜像构成 在之前的例子中,我们所使用的都是来自于 Docker Hub 的镜像. 直接使用这些镜像是可以满足一定的需求,而当这些镜像无法直接满足需求时,我们就需要定制这些镜 ...

  5. Arthas开源项目

    本文主要围绕着Arthas是什么.能做什么.安装和使用等三个方面内容来讲解,希望对初学者和对此有兴趣的朋友有帮助. 一. Arthas是什么 文档地址: https://alibaba.github. ...

  6. SpringMVC原理&MVC设计思想

    什么是MVC? MVC是一种架构模式 --- 程序分层,分工合作,既相互独立,又协同工作 MVC是一种思考方式 --- 需要将什么信息展示给用户? 如何布局? 调用哪些业务逻辑? MVC流程图如下图所 ...

  7. WorldWind源码剖析系列:网络下载类WebDownload

    网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作.该类使用了两个委托类型和一个枚举类型. 该类的类图如下. 网络下载类WebDownload各个字段和属性的含义说明如下: st ...

  8. Python2.7-struct模块

    struct模块 处理二进制数据,与C语言交互,可以较为方便的对C语言的struct类型和python中的数据进行转换 主要是用于将int,char之类的C语言中基础数据pack至一个二进制流的字符串 ...

  9. 简单的django配置和命令

    1.创建项目:django-admin startproject 项目名称 2.进入项目:cd 项目名称 3.创建子应用:python manage.py startapp 子应用名称 4.把子应用添 ...

  10. WebView之javascript与android交互基础加强

    一.什么是js与android交互? 通俗一点就是使用js代码调用java代码,或者使用java代码调用js代码. 二.为什么要使用js与java代码交互? 1.可以做一些js网页做本身处理不了的事情 ...