自动化测试之使用runner.js运行testcafe

写在之前

之前项目里面遇到这个问题,使用testcafe测试项目上的功能,因为是才接触自动化测试,使用起来还是有很多不明白的地方,目前网上关于testcafe使用方法基本都是非常官方的使用方法,千篇一律。所以在解决了这个问题后我决定写一篇随笔。第一次写这种,不足之处大家多多包涵。欢迎交流。

项目中使用runner文件运行testcafe

testcafe的官方文档:https://devexpress.github.io/testcafe/documentation/using-testcafe/programming-interface/runner.html
另外在之前使用的过程中米阳的简书:https://www.jianshu.com/p/94181abe5e9a也给我很大的帮助

安装

npm install -g testcafe

先全局安装testcafe

优点

使用runner的优势在于不需要在运行命令是在后面加上很多的属性,而且便于管理
用过testcafe的都知道想要控制测试的运行速度出了在js里面使用setTimeSpeed控制之外,还可以使用testcafe chrome xxx.js -speed 0.2 这种来控制测试的整体速度。而使用runner则不需要这种操作,直接在runner.js里面设置就行了,特别是设置的属性有很多的时候。

使用

  1. 新建
    在项目文件夹下创建三个文件夹:test、runner、error
    test文件夹里面放需要测试的js文件
    runner文件夹里面就是本篇介绍的主要内容
    error文件夹则是配合runner来保存测试错误文件的截图
  2. 编写runner文件
    在runner文件夹下新建runner.js
    内容如下:
const createTestCafe = require("testcafe");
let testcafe = null;

createTestCafe("localhost", 1337, 1338)
  .then(tc => {
    testcafe = tc;
    const runner = testcafe.createRunner();

    return (
      runner
        .src([
          "./test/xxx.js",
          "./test/xxxx.js",
          "./test/xxxxx.js"
        ])
        .browsers(["chrome","fireFox"])
        // 错误自动截图
        .screenshots(
          // 保存路径
          "./error/",
          true,
          // 保存路径格式
          "${DATE}_${TIME}/${FIXTURE}/${TEST}/${USERAGENT}/${FILE_INDEX}.png"
        )
        .run({
          skipJsErrors: true, //跳过页面JS报错
          selectorTimeout: 5000, // 设置页面元素查找超时时间,智能等待
          assertionTimeout: 5000, // 设置断言超时时间
          pageLoadTimeout: 15000, // 设置页面加载超时时间
          debugOnFail: true, // 失败开启调试模式 脚本编写建议开启
          quarantineMode: true, //隔离模式,若果失败则重新测试,最多三次
          speed: 1 // 执行速度0.01 - 1
        })
    );
  })
  .then(failedCount => {
    console.log("测试失败个数: " + failedCount + "个");
    testcafe.close();
  })
  .catch(err => {
    console.error(err);
  });

runner.js中
scr里面放的是需要测试的脚本js
browsers里面放的是测试的浏览器
screenshots就是屏幕截图
run则是在脚本运行时的一些属性,例如运行速度、等待时间、多并发等等。具体的属性可以在参考链接中查看

运行

node runner/runner.js

关于运行这个runner文件的命令我刚开始使用的使用找了整整半天,网上没有一个地方有它的身影。这个命令完全是我测出来的,真是奇迹。

结语

第一次写随笔,肯定有很多废话,哈哈,以后有时间我也会写写其他的,喜欢就点个关注吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值