zoukankan      html  css  js  c++  java
  • Web自动化神器TestCafe六)——用例运行篇

    上一篇我们讲到TestCafe如何进行页面交互,这一篇我们一起来了解一下,

    一、指定用例运行

    1、运行方法

    关于TestCafe运行用例,支持以下两种方法

    • 1、命令行运行
      // testcafe  运行的浏览器   用例文件路径
      testcafe chrome ./tests/demo.js
      
    • 2、通过Runner运行
      const TestCafe = require('testcafe');
      const testCafe = await TestCafe('localhost', 1337, 1338);
      try {
          const Runner = testCafe.createRunner();
          await Runner
              .src('./tests/my-fixture.js')
              .browsers('safari')
              .run();
      }
      finally {
          await testCafe.close();
      }
      

    2、指定多个文件或目录运行

    如果是命令行运行,在指定运行路径的时候,写上多个路径即可。

    如果是通过Runner执行,在使用src指定运行路径是传入一个包含多个路径的数组即可。

    await runner
        .browsers('safari')
        .src(['./goods-tests/demo1.js', 
              './user-tests/demo2.js'])
        .run();
    

    3、运行指定的测试用例

    ​ 在指定测试文件运行的时候,TestCafe还支持指定测试用例名来执行测试。命令行运行是 可以通过参数-t来指定运行的用例名,如果通过Runenr来执行,则可以通过 Runner.filter方法的testName参数去进行过滤

    • 命令行运行
    // 通过运行demo.js文件中,用例名为login的用例
    testcafe chrome ./tests/demo.js -t "login"
    
    • Runner运行
      await runner
          .browsers('safari')
          .src('./tests/demo.js')
          .filter(testName => testName === 'login')
          .run();
      

    4、运行指定的fixtrue

    ​ 如果要运行文件中指定fixtrue,命令行运行是 可以通过参数 -f 来指定运行的用例名,如果通过Runenr来执行,则可以通过 Runner.filter方法的 fixtureName参数去进行过滤。

    • 命令行运行
      testcafe firefox ./tests/demo.js -f "Loginfixture"
      
    • Runner对象运行
      await runner
          .browsers('firefox')
          .src('./tests/demo.js')
          .filter((testName, fixtureName) => {
          fixtureName === 'Loginfixture'
      	})
          .run();
      

    二、浏览器运行的配置

    testcafe在运行测试是需要手动去指定运行的浏览器,命令行运行时,直接把浏览器名字添加在testcafe后面即可,通过Runner对象运行则可以通过 browsers 来指定运行的浏览器。

    1、同时多个浏览器运行

    ​ 在运行测试的时候,TestCafe支持使用多个浏览器同时。

    • 在命令行中多个浏览器中运行测试。以逗号分隔的浏览器列表
      testcafe safari,chrome ./tests/
      
    • 通过Runner运行,将浏览器标识符数组传递给Runner.browsers
      await runner
          .browsers(['safari', 'chrome'])
          .src('./tests/')
          .run();
      
      
    • 使用电脑上所有安装的浏览器一起运行测试

      指定浏览器时使用all,testcafe会自动检查所有本地安装的浏览器,同时运行测试。

      testcafe all ./tests/
      await runner
          .browsers('all')
          .src('./tests/')
          .run();
      
      

    2、无头模式运行

    TestCafe可以在支持它的浏览器中以无头模式运行测试。要以无头模式运行测试,请将:headless后缀放在浏览器名称即可。

    • 命令行运行
    testcafe firefox:headless ./tests/
    
    
    • Runner运行
    await runner
        .browsers('firefox:headless')
        .src('./tests/')
        .run();
    
    

    3、模拟移动设备运行

    TestCafe支持使用Chrome浏览器移动设备来模拟移动设备布局和功能。指定:emulation后缀,后跟仿真选项

    await runner
        .browsers('chrome:emulation:device=iphone X')
        .src('./tests/sample-fixture.js')
        .run();
    
    

    三、测试报告

    TestCafe附带了五种基本的报告器,包括用于规范,JSON和xUnit格式的报告器。你可以安装其他的报告程序插件,也可以创建自定义报告程序。关于测试测试报告的生成,在命令行中使用-r参数,并在API中使用Runner.reporter方法来指定要使用的报告器。

    1、指定报告器

    • 命令行运行
      testcafe all ./tests/sample-fixture.js -r xunit
      
      
    • Runner运行
      await runner
          .browsers('all')
          .src('./tests/sample-fixture.js')
          .reporter('xunit')
          .run();
      
      

    四、并发运行测试

    =====请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/nmb-musen/,谢谢!!=====
  • =====有任何疑问,欢迎加微信 MoX66999 (请备注:博客园-木森)=====

查看全文
  • 相关阅读:
    第2天 轻量级RPC框架开发
    028_ajax的String,View,Object执行流程
    027_获取隐藏id值的两种方式
    009_myBatis删除多条记录open="(",写成了index="(".
    026_一次性删除多条数据的sql语句
    025_json请求头与form表单请求头?
    024_如何生成一个32位的uuid?
    023_如何实现一次性删除多条记录?
    022_同步请求与异步请求的区别?
    021_SpringMVC中拦截器的作用?
  • 原文地址:https://www.cnblogs.com/nmb-musen/p/15331252.html
  • Copyright © 2011-2022 走看看