full-image

介绍

先来一段官方的介绍:

UI Recorder是一款零成本的整体自动化测试解决方案,一次自测等于多次测试,测一个浏览器等于测多个浏览器!

  • 支持所有用户行为: 键盘事件, 鼠标事件, alert, 文件上传, 拖放, svg, shadow dom
  • 支持无线native app录制, 基于macaca实现: https://macacajs.com/
  • 无干扰录制: 和正常测试无任何区别,无需任何交互
  • 录制用例存储在本地
  • 支持丰富的断言类型: val,text,displayed,enabled,selected,attr,css,url,title,cookie,localStorage,sessionStorage
  • 支持数据mock: fake.js
  • 支持公共测试用例: 允许用例中动态调用另外一个
  • 支持并发测试
  • 支持多国语言: 英文, 简体中文, 繁体中文
  • 支持HTML报告和JUnit报告
  • 全系统支持: windows, mac, linux
  • 支持多运行时测试, 例如:开发测试、预发测试
  • 基于Nodejs的测试用例: jWebDriver

简单来说就是把你每次自测的流程录制下来,而且是全可视化的,然后在各种浏览器上自动回放,大大简化了每次手工测试的麻烦,更多介绍请观看视频教程

下面,就是到了本人最爱的动手环节

PC录制教程

准备工作:

  • NodeJs环境
    请自行先安装好nodejs环境,在命令行执行node -v命令成功说明已经安装成功
  • Chrome浏览器
  • JAVA环境
  • UI Recorder
  • WebDriverServer

安装UI Recorder并录制脚本

  • npm install uirecorder mocha -g --registry=https://registry.npm.taobao.org

    安装uirecorder全局命令

  • uirecorder init

    一路回车,遇到WebDriver域名或IP的时候填写127.0.0.1,端口4444,浏览器列表根据自己需要填写,多个浏览器用,隔开,默认chrome,ie 11

  • uirecorder start
    录制脚本是利用你本机的chrome浏览器来实现的,所以本机必须安装chrome,切不要用绿色便携版之类的!
    最后启动chorme浏览器开始脚本录制,录制的方法和技巧上面的优酷视频都有说明,就不再累述了,下面主要介绍搭建WebDriverServer

搭建WebDriverServer

搭建webdriver server的方式可以是:Selenium standalone serverSelenium GridF2etest中的一种,这里只介绍第一种单机的方式,F2etest的方式部署浏览器云请看前端自动化测试之多浏览器兼容测试平台F2etest(带视频教程).

↑↑↑打不开的可以看看自动更新Google Hosts利用shadowsocks科学上网(提供免费帐号)两篇文章

Mac环境:

本文只介绍Chrome相关的测试,其他浏览器都是类似的,只要部署好server,不同的浏览器只是使用不同的driver而已, Mac下面我们需要下载chromedriverselenium-server-standalone.jar

  • 启动服务器 java -jar selenium-server-standalone-2.53.1.jar
  • 双击打开chromedriver

mac下我没有配置环境变量path所以直接打开的驱动,如果配置了驱动的路径访问server的时候会自动打开驱动,具体可参考下面windows教程

  • 最后在刚才录制脚本的目录执行:
    npm install --registry=https://registry.npm.taobao.org
    sudo source run.sh

    我上面用的npm命令是淘宝提供的npm镜像,让npm安装模块包更快

  • 最后成功执行录制的脚本后会在当前目录生成reports和screenshots两个文件夹,用于查看测试报告和单步测试截图。

Windows环境:

Windows下面的话selenium-server-standalone.jar这个是通用的,另外需要单独下载chrome和ie的windows版的driver

然后把driver文件所在的目录配置到Path环境变量中,以便seleniumServer能通过文件名直接找到文件启动对应的driver,验证有没有配置环境变量成功只需要在cmd命令中随便找个目录输入driver的文件名执行下,看能否成功找到文件执行

  • 启动服务器 java -jar selenium-server-standalone-2.53.1.jar

    这时候不需要手动运行driver,selenium会自动根据请求启动对应的driver文件,所以上面必须配置环境变量

  • 在刚才录制的脚本目录执行:
    npm install --registry=https://registry.npm.taobao.org
    run.bat

Windows下IE注意事项,否则IE可能无法启动:

  • 针对windows vista和windows 7上的IE7或者更高的版本,必须在IE选项设置的安全页中,4个区域的启用保护模式的勾选都去掉(或都勾上),即保持四个区域的保护模式是一致的。如下图所示:
  • 针对IE10和更高的版本,必须在IE选项设置中的高级页中,取消增强保护模式。如下图所示:
  • 针对IE11,需要修改注册表。如果是32位的windows,key值为

    HKEYLOCALMACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE

  • 如果是64位的windows,key值为

    HKEYLOCALMACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE

  • 如果key值不存在,就添加。之后在key内部创建一个iexplorer.exe,DWORD类型,值为0,我的windows是64位的,修改后的注册表如下图所示:

移动端录制教程

未完待续!

支付宝扫码打赏 微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章

杨少凡's Picture
杨少凡

殿堂级渣洼工程师,现居重庆,目前就职于人和集团电商部。

Chongqing「重庆」 http://shaofan.org