MACACA脚本录制功能(PC)
Posted dreamhighqiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MACACA脚本录制功能(PC)相关的知识,希望对你有一定的参考价值。
macaca使用UI Recorder进行脚本录制
官方开源地址:https://github.com/alibaba/uirecorder
本文基于chrome浏览器进行录制
UI Recorder简介:
UI Recorder 是一款零成本UI自动化录制工具,类似于Selenium IDE.
UI Recorder 要比Selenium IDE更加强大!
UI Recorder 非常简单易用.
功能:
- 支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom
- 支持无线native app(android, ios)录制, 基于macaca实现: https://macacajs.com/
- 无干扰录制: 和正常测试无任何区别,无需任何交互
- 录制用例存储在本地
- 支持丰富的断言类型: val,text,displayed,enabled,selected,attr,css,url,title,cookie,localStorage,sessionStorage
- 支持图片对比
- 支持强大的变量字符串
- 支持公共测试用例: 允许用例中动态调用另外一个
- 支持并发测试
- 支持多国语言: 英文, 简体中文, 繁体中文
- 支持单步截图
- 支持html报告和JUnit报告
- 全系统支持: Windows, Mac, Linux
- 基于Nodejs的测试用例: jWebDriver
安装UI Recorder
- 安装Node.js(>=v7.x)
在环境搭建的时候已经安装过了 - 安装chrome浏览器
- 安装UI Rcorder
npm install uirecorder mocha -g
坑:
*报色彩斑斓的错误 - 安装服务Selenium standalone server
npm install selenium-standalone -g
*报Error: Missing C:\Users\b\node_modules\selenium-standalone\.selenium\chromedriver\2.31-x64-chromedriver 之类的错误(可能有IEdriver等也缺失)
下载webdriver
selenium-standalone install --drivers.firefox.baseURL=http://npm.taobao.org/mirrors/geckodriver --baseURL=http://npm.taobao.org/mirrors/selenium --drivers.chrome.baseURL=http://npm.taobao.org/mirrors/chromedriver --drivers.ie.baseURL=http://npm.taobao.org/mirrors/selenium
- 安装Mocha 单元测试框架
依次执行命令:
npm install mocha -g
npm install jwebdriver expect.js mocha-generators faker --save-dev -g
npm install jwebdriver chai faker --save-dev -g
- 初始化配置UI Recorder
切换到新建的存放项目的目录
执行cmd命令:uirecorder init
初始化配置,可以一直回车,IP默认为127.0.0.1,端口默认为4444,浏览器选择chrome,
执行相关默认操作之后,在目录下生成对应的文件
开始录制(chrome)
切换到自己所需的目录下
输入命令:uirecorder start
具体参数可以自己配置
完成后会自动打开两个chrome窗口。
第一个窗口,是录制窗口;第二个是校验窗口,是个空白页面,录制的时候忽略该窗口即可
然后输入要测试的地址或者脚本就可以开始录制了
开始录制后每一步都会有"执行成功"的提示,录制完毕点结束录制
录制的脚本存放在sample文件夹下
脚本回放
- 启动server
selenium-standalone start
- 回放脚本
mocha sample/test.1.js(不生成报告) - 执行测试用例
a) 运行所有脚本:run(run.bat是寻找sample文件夹下 **.spec.js 文件,用例文件名应该以.spec.js为后缀)
b) 运行单个脚本:run sample/test.1.js
c) run会在遇到error或者断言失败的时候停止,跳过后续的步骤,使用mocha --reporter mochawesome-uirecorder XX.spec.js可以生成报告同时不跳过
查看测试报告
执行用例后在reports文件夹下会生成测试报告
在screenshots文件夹下可以获取每个单步的截图情况
设置仅在失败时截图:
在package.json的 --reporter mochawesome-uirecorder 后面添加:--reporter-options copyShotOnlyFail=true (试了下发现没作用)
以上是关于MACACA脚本录制功能(PC)的主要内容,如果未能解决你的问题,请参考以下文章