UIrecorder原理与环境搭建

一、UIRecorder 是什么
UIRecorder 是一款 UI录制 和 回归测试 工具
录制后生成 JavaScript 测试脚本代码。回归测试过程中,可以利用生成的 JavaScript 测试脚本代码,使用 Mocha 对自测过程进行回放
在这里插入图片描述
整体框架:
在这里插入图片描述
二、底层依赖
1、Chrome Extension:Chrome的扩展程序;
UIRecorder 主要利用了 Chrome Extension 实现事件驱动、DOM 捕捉的能力。
2、NodeJS:简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。
UIRecorder 主要利用其 http 模块实现 Websocket 通信能力、利用其 fs 模块实现生成脚本能力,生成JavaScript测试脚本。
3、Selenium:Selenium 是一款主流的 Web UI 测试框架;
UIRecorder 主要利用其 WebDriver 服务能力实现端到端功能测试,并且 Selenium 支持各大主流浏览器,因此可以利用 Selenium 进行多浏览器兼容测试。
4、Mocha:Mocha 是一款主流的 JavaScript 测试框架,包括多种测试风格脚本模版、执行库、报告器等测试场景通用能力。
UIRecorder 主要利用其 BDD 风格设计脚本模版,利用其执行库功能进行场景回归测试,且将回归测试的结果通过报告器进行数据提炼、渲染,多维度直观呈现回归结果。即生成测试报告。

三、录制原理:
在这里插入图片描述
录制功能主要由 Chrome Extension 和 Node Process 两部分组成:
Chrome Extension 会对当前浏览器进行全局事件监听,当触发某个事件(比如 click)时,即获取当前操作元素的节点信息,同时通过 WebSocket 发送指令(开始录制、录制、结束录制)、数据(事件类型、节点信息)至 Node Process。
Node Process 接收到 Chrome Extension 的请求指令、数据,将其记录在一个数组中,当 Chrome Extension 发起结束录制指令时,结合记录队列和配置的脚本模版,生成测试用例脚本至指定目录(如 sample/test.spec.js )。

四、回归原理
在这里插入图片描述
测试脚本采用 BDD 的风格定义了测试用例,通过 Runner(mocha) 执行(浏览器操作通过调用 WebDriver Service 实现),返回对应的回归测试结果(object),测试结果经过 Reporter (mocha)进行渲染,生成测试报告。

**

环境搭建

**
一、NodeJS
下载该版本避免出现兼容问题:Windows: node-v8.15.0-x64.msi
https://nodejs.org/dist/v8.15.0/node-v8.15.0-x64.msi

二、chrome
Windows 用户注意使用默认安装路径:
C:\Program Files (x86)\Google\Chrome\Application
三、NPM
NPM 是 NodeJS 自带的包管理器,可以批量下载指定包的指定版本。
由于 npm 是国外网络环境,可能被墙或下载速度较慢,可以使用 cnpm , 下载速度更快。运行以下命令安装 cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org

四、Java
安装 Java JDK:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

五、UIRecorder
运行以下命令安装 UIRecorder 及其相关依赖:
// version 2.x
cnpm install uirecorder mocha mochawesome-uirecorder -g
// version 3.x
cnpm install uirecorder mocha macaca-reporter –g

录制:
mkdir uirecorder_test
cd uirecorder_test
uirecorder init
// 默认设置的话,一路回车就可以
在这里插入图片描述

安装依赖包的时候会卡住,可退出来,删除node_modules文件夹,然后手动安装依赖包:
在这里插入图片描述
再执行初始化:
uirecorder init

初始化失败,解决办法:本地运行需要起uirecordertest server的服务:
在这里插入图片描述
最后启动进行录制:
uirecorder start

目前问题:谷歌浏览器没适配成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值