Vis*_*ats 8 javascript testing automation cypress
在自动化网站时,我需要使用赛普拉斯中的不同测试数据集多次运行测试用例(它阻止)。
请考虑以下示例:
it('example test', () => {
//first run
getOnDefaultForm.typeUserName('Name1');
getOnDefaultForm.typePassword('Pass1');
getOnDefaultForm.clickSubmit();
//second run
getOnDefaultForm.typeUserName('Name2');
getOnDefaultForm.typePassword('Pass2');
getOnDefaultForm.clickSubmit();
//third run
getOnDefaultForm.typeUserName('Name3');
getOnDefaultForm.typePassword('Pass3');
getOnDefaultForm.clickSubmit();
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能在赛普拉斯中实现这一目标?
Cha*_*nds 13
也可以将数据放入jsonfixtures文件夹中的文件中,然后将其导入到spec文件的顶部。
该方法在 Cypress 12.5.0 版本中仍然有效。
夹具
[
{ "name": 'Name1', "password": 'Pass1' },
{ "name": 'Name2', "password": 'Pass2' },
{ "name": 'Name3', "password": 'Pass3' }
]
Run Code Online (Sandbox Code Playgroud)
测试
const testData = require('../fixtures/test-data.json')
testData.forEach((credentials) => {
it('example test for ' + credentials.name, () => {
getOnDefaultForm.typeUserName(credentials.name);
getOnDefaultForm.typePassword(credentials.password);
getOnDefaultForm.clickSubmit();
})
})
Run Code Online (Sandbox Code Playgroud)
我认为你需要看看这个仓库:https://github.com/cypress-io/cypress-example-recipes/tree/master/examples/fundamentals__dynamic-tests或者只是搜索这个网站,这不是第一个有人问过这个问题。
一般来说,您可以将其包裹it在一个循环中。实际上,它看起来像这样:
const testData = [
{
name: 'Name1',
password: 'Pass1'
},
{
name: 'Name2',
password: 'Pass2'
},
{
name: 'Name3',
password: 'Pass3'
}
]
testData.forEach((credentials) => {
it('example test', () => {
getOnDefaultForm.typeUserName(credentials.name);
getOnDefaultForm.typePassword(credentials.password);
getOnDefaultForm.clickSubmit();
})
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9745 次 |
| 最近记录: |