ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Cypress系列(66)- 测试运行最佳实践

2021-05-31 20:07:41  阅读:250  来源: 互联网

标签:env -- Cypress 测试运行 yarn 测试用例 66 cypress 运行


如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

 

动态生成测试用例

直接看这篇文章哦:https://www.cnblogs.com/poloyy/p/13042466.html

 

静态挑选待运行测试用例

是指给测试用例添加关键字如:.only()、.skip()、或者指定 runFlag 且在运行时指定 runFlag 的值

具体学习可以看这两篇文章

  • https://www.cnblogs.com/poloyy/p/13040113.html
  • https://www.cnblogs.com/poloyy/p/13039624.html

 

动态挑选待运行测试用例

什么是动态挑选待运行测试用例

指给测试用例添加一个或多个相应描述关键字,在运行时,指定相应的关键字,运行或排斥测试用例

 

如何动态挑选待运行测试用例

  • 使用 cypress-select-tests 插件
  • 官方:https://github.com/bahmutov/cypress-select-tests

 

安装插件

进入 cypress 安装目录下,cmd 执行:

npm install --save-dev cypress-select-tests

 

设置插件

在 cypress/plugins/index.js 文件中输入以下代码

const selectTestsWithGrep = require('cypress-select-tests/grep')
module.exports = (on, config) => {
  on('file:preprocessor', selectTestsWithGrep(config))
}

 

指定测试用例运行的栗子

测试代码

context('指定测试用例运行的栗子', function () {

    it('[smoke] 登录用例1', function () {
        cy.log('登录成功')
    });

    it('[e2e,smoke] 登录用例1', function () {
        cy.log('登录成功')
    });

})

 

执行以下命令

yarn cypress:open --env grep=e2e

 

  • 打开 Cypress 运行器,运行测试用例文件
  • --env grep=e2e 的作用:指定包含 e2e 标签的测试用例运行

 

测试结果

 

使用该插件的重点

其实就是【写标签,通过各种方式传递环境变量】,以下是通过 CLI 方式传递环境变量的几种写法和对应的作用

# 仅运行带有 works 标签的测试用例
yarn cypress open --env grep = works

# 仅运行文件名中带有 foo 的文件
yarn cypress open --env fgrep = foo

# 仅运行文件名中带有 foo 的文件,且仅运行文件中带有 works 标签的测试用例
yarn cypress open --env fgrep = foo,grep = works

# 仅运行带有 '功能A' 标签的测试用例
yarn cypress open --env grep ='功能A'

#仅运行文件名中不带有 foo 的文件
yarn cypress open --env fgrep = foo,invert = true

#仅运行不带有 works 标签的测试用例
yarn cypress open --env grep = works,invert = true

 

标签:env,--,Cypress,测试运行,yarn,测试用例,66,cypress,运行
来源: https://blog.51cto.com/u_12020737/2838194

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有