UI Recorder 自动化测试 回归原理(九)

回归原理

一、原理流程图

 测试脚本采用 BDD 的风格定义了测试用例,通过 Runner 执行(浏览器操作通过调用 WebDriver Service 实现),返回对应的回归测试结果(object),测试结果经过 Reporter 进行渲染,生成测试报告。

1.1 Runner

       Runner 包括 mochamacaca-mocha-parallel-tests (fork mocha-parallel-tests 优化的版本),其中跑单个测试用例使用 mocha ,并行跑多个测试用例则使用 macaca-mocha-parallel-tests 。Runner 的作用可以简单概括为以下三点:Pre-Loader(预加载功能)、Runner(执行器)、Reporter(报告器)。

  • Pre-Loader(预加载功能):通过 describe/it 函数定义一组或单个的测试用例,通过 loader 处理,可转化成一个树状结构的 object
  • Runner(执行器):object 可以通过 Runner 执行回归测试,输出测试结果(也是一个树状 object)
  • Reporter(报告器):利用测试结果,生成简单格式的测试报告输出

1.2 Reporter

       Mocha 自带的 Reporter 展示形式比较单一,难以满足我们的测试场景需求。UIRecorder 自主维护的两款报告器是 macaca-reportermochawesome-uirecorder ,uirecorder@3.0 版本以后统一使用 macaca-reportermochawesome-uirecorder 已废弃。其中, macaca-reporter 的作用主要是利用 Runner 执行后返回的结果(object),自定义渲染模版,从链路树模式、脑图模式、全图模式和列表模式多维度直观呈现运行结果。

1.3 WebDriver Service

       WebDriver 利用浏览器原生的API,封装了一层 WebDriver API,通过 http 协议可以直接操作浏览器页面的DOM节点元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书等)。且 Selenium 已得到各大主流浏览器厂商支持,可利用 WebDriver 服务进行多浏览器兼容性测试。

二、更多参考

如何实现一个简易版的 Mocha:https://www.yuque.com/artist/aori6e/vt4171
macaca-mocha-parallel-tests:https://github.com/macacajs/macaca-mocha-parallel-tests
F2etest WebDriver:https://www.yuque.com/artist/f2etest/webdriver-cloud

  

原文地址:https://www.cnblogs.com/Lam7/p/13475988.html