npm install -D cypress-plugin-retries
require('cypress-plugin-retries’)
{
"scripts" : {
"retryCases":"CYPRESS_RETRIES=2 cypress run"
}
}
在 Cypress 安装目录下运行下面命令,所有测试用例若失败都会自动重试 2 次
yarn retryCases
当再次运行每个测试时,以下 hook 函数也将重新运行
但 before 和 after 不会触发
假设 Cypress 设置了重试两次
注:能够在命令日志中查看尝试的次数,并根据需要扩展每次尝试以进行检查和调试
cypress run
cypress.json
这样无论是 cypress run 命令还是 cypress open 命令,重试次数都是 2
context('测试用例级别', function () {
it('栗子1', {
// 无论是 runMode 还是 openMode 都重试 2 次
retries: 2,
defaultCommandTimeout: 1000
}, function () {
cy.get('#id')
});
it('栗子2', {
// 分开指定重试次数
retries: {
runMode: 2,
openMode: 1
},
defaultCommandTimeout: 1000
}, function () {
cy.get('#id')
});
})
栗子1 重试 2 次,栗子2 重试 1次,测试不通过就会打 ×,点击可以查看详细错误信息
(不得不说,这按钮 UI 真好看...)
context('测试用例集级别', {
// 此 context 下面的所有测试用例(it)重试次数都是 1
retries: 1,
defaultCommandTimeout: 1000
}, function () {
it('栗子1', function () {
cy.get('#id')
})
it('栗子2', function () {
cy.get('#id')
})
}
)
context('截图的栗子', function () {
it('栗子', {
retries: 2,
defaultCommandTimeout: 1000
}, function () {
cy.screenshot('user-login-errors')
cy.get('#id')
});
})
重试是的截图图片名称会包含 attempt
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有