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

  以往我们对于UI自动化测试,第一个想到的事Selenium,虽说功能强大,稳定,但是一个系统回归级别的代码量还是比较笨重的,本次我们探讨调研一个能够上手快、操作简单、提供录制的工具,来应对我们频繁的更新迭代,那就是UI Recorder:

  UI Recorder 是一款零成本UI自动化录制工具,类似于Selenium IDE.

  UI Recorder 要比Selenium IDE更加强大!

  UI Recorder 非常简单易用:官方网站: http://uirecorder.com/

功能

  1. 支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom
  2. 支持无线native app(Android, iOS)录制, 基于macaca实现: https://macacajs.com/
  3. 无干扰录制: 和正常测试无任何区别,无需任何交互
  4. 录制用例存储在本地
  5. 支持丰富的断言类型: val,text,displayed,enabled,selected,attr,css,url,title,cookie,localStorage,sessionStorage
  6. 支持图片对比
  7. 支持强大的变量字符串
  8. 支持公共测试用例: 允许用例中动态调用另外一个
  9. 支持并发测试
  10. 支持多国语言: 英文, 简体中文, 繁体中文
  11. 支持单步截图
  12. 支持HTML报告和JUnit报告
  13. 全系统支持: Windows, Mac, Linux
  14. 基于Nodejs的测试用例: jWebDriver

安装uirecorder

1、安装node.js(最好安装8.X版本,安装最新版本后续可能会出错)

node官网:https://nodejs.org/en/download/

或者直接下载安装包:https://nodejs.org/dist/v8.11.3/node-v8.11.3-x64.msi

安装时一路next就行了。安装成功之后,验证一下安装是否成功:

打开cmd,输入node -v,然后回车(电脑装的8.10版本,8.11也可以)

2、安装 chrome(谷歌浏览器)

3、安装 UI Recorder

安装UI Recorder,这里通过node的npm直接安装即可,如果无法过墙,也可以用阿里的自己的cnpm进行安装

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装好cnpm后在通过cnpm安装UI Recorder就可以了

cnpm install uirecorder mocha –g

安装成功后通过 uirecorder --version 来检验是否成功安装。

开始录制

1、初始化工程

在E盘根目录建立一个文件夹uirecorder,

打开cmd窗口,切换到uirecorder目录

E:\uirecorder>

UI Recorder安装完成后第一步需要进行配置文件的初始化输入uirecorder init,根据我们的需求自己编写即可,一般都选择默认。

2、开始录制测试用例

初始化完我们的配置信息后,就可以通过uirecorder start开始录制我们的case了,非常的简单方便。

当启动完成后,可以看到已经启动了一个chrome浏览器,只需要输入被测试地址即可开始录制case。

这里以百度为例。当输入域名(http://www.baidu.com)后,已经成功跳转到了被测试地址。

简单操作下,可以看到后台记录下了所有操作。包括了滚轮的操作已被记录了下来,点击结束脚本录制后,在UI Recorder执行初始化操作的目录下,已经生成了测试case。

回放

假设已经将所有的回归case录制完成,那么现在开始回归操作,需要安装chrome的drvier,以及selenium的server的jar包,这里可以提供百度网盘地址。(注:链接:https://pan.baidu.com/s/1JicYpyGJZgcGFTni6jA7kg 密码:vrw1)

(放在了E盘根目录下)

切换到E盘根目录下,启动selenium server端 java -jar selenium-server-standalone-3.7.1.jar

在UI Recorder的init目录下执行 run.bat即可执行录制后的case,可以在log中看到,每一步的回归执行都可以看到耗时,以及是否操作成功。同时UI Recorder生成了HTML和XML的报告。

报告

UI Recorder的HTML报告还是非常丰富的,每一步的操作执行都被图片的形式保存了下来,这对于后续查看问题原因提供了极大地便利。(由于中间调试出了点问题,

所以中途换了文件夹,此处的ui等同于上面的uirecorder文件夹)

UI Recorder安装与使用的更多相关文章

  1. UI Recorder 安装教程(一)

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

  2. UI Recorder 安装教程(二)

    前言: UI Recorder支持无线native app(Android, iOS)录制, 基于macaca实现:https://macacajs.com/ 本次教程只针对无线native app( ...

  3. UI Recorder 功能详解

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

  4. UI自动化录制工具----UI Recorder

    1.系统和工具包 windows 7 64位 jdk,nodejs,webdriver,浏览器都放在工具包目录内.(晚上回去把文件上传到云盘,在分享给大家) 2.安装JDK和node.js 2.1 J ...

  5. 一个自动化测试工具 UI Recorder

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

  6. Vue移动组件库Mint UI的安装与使用

    一.什么是 Mint UI 1.Mint UI 包含丰富的 CSS 和 JS 组件,可以提升移动端开发效率 2.Mint UI 按需加载组件 3.Mint UI 轻量化 二.Mint UI 的安装 1 ...

  7. UIRecorder安装与使用

    继vue单元测试,将进行vue的e2e测试学习. 学习点: 安装uirecorder 用工具(UI Recorder)录制测试脚本 测试脚本的回放 本文意在安装UI Recorder,并且利用该工具进 ...

  8. 如何实现UI自动化?DevExpress Winforms帮你忙

    DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.无论是Office风格的界面,还是分析处理大批量的业务数据,DevExpr ...

  9. 在 C# 中执行 msi 安装

    有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义 msi 安装包的执行过程. 需求 比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品.当用户选择了三个产品时,如果分别显示 ...

随机推荐

  1. 《Using Databases with Python》Week3 Data Models and Relational SQL 课堂笔记

    Coursera课程<Using Databases with Python> 密歇根大学 Week3 Data Models and Relational SQL 15.4 Design ...

  2. 6.824 Lab 2: Raft 2A

    6.824 Lab 2: Raft Part 2A Due: Feb 23 at 11:59pm Part 2B Due: Mar 2 at 11:59pm Part 2C Due: Mar 9 at ...

  3. Jmeter运行后,查看结果树中的响应数据出现中文乱码。

    参考:https://blog.csdn.net/qq_15228737/article/details/82597482 https://baike.baidu.com/item/UTF-8/481 ...

  4. Fabric CA/数字证书管理

    MSP(Membership Service Provider)成员管理服务提供商 名词: 1.CSR(Cerificate Signing Request):证书签署请求文件 CSR里包含申请者的 ...

  5. 傻傻分不清?Integer、new Integer() 和 int 的面试题

    这篇有意思: 基本概念的区分: 1.Integer 是 int 的包装类,int 则是 java 的一种基本数据类型 2.Integer 变量必须实例化后才能使用,而int变量不需要 3.Intege ...

  6. 小明种苹果(续)第十七次CCF认证

    小明种苹果(续)第十七次CCF认证 题目 原题链接 ](http://118.190.20.162/view.page?gpid=T93) 很高心,在现在CCF CSP可以下载自己当时的答卷了,也就是 ...

  7. 洛谷 P5660 数字游戏 & [NOIP2019普及组]

    传送门 洛谷改域名了QAQ 解题思路 没什么好说的,一道红题,本不想发这篇博客 ,但还是尊重一下CCF吧QAQ,怎么说也是第一年CSP呢! 用getchar一个个读入.判断.累加,最后输出即可. 不过 ...

  8. Quartz.NET | 佳佳的博客

    原文:Quartz.NET | 佳佳的博客 Quartz.NET 是一个定时计划任务的框架,支持 .NET Core. 本文示例代码大部分来自于官方教程:Quartz.NET - Quartz.NET ...

  9. MySql+EF+CodeFirst

    ef+mssql详细是许多.net程序员的标配.作为一个程序员当然不能只会mssql这一个数据库,今天简单聊聊ef+mysql.推荐新人阅读. 1]首先创建一个mvc项目,如图: 创建完毕之后再nug ...

  10. spring服务器接收参数格式

    注:@RequestParam 或@RequestBody等注解是否添加有什么区别 不加:参数可有可无,无参数时为null,但当参数类型是 数字基本类型(int.double)时会报错: 加上@Req ...