假设我正在测试一个包含10个页面的站点。在第10页,也就是最后一页,这是进行付款的地方,在此之后流程结束。
我想在这第10页上运行多个测试;一个visa付款,一个MasterCard付款,一个美国运通付款等。
现在,我可以编写一个跨越整个流程的测试,从而获得签证付款。然后,我可以复制整个测试,并调整MasterCard付款等。这显然是练习。
在测试第10页(共10页)时,我如何着手将第1页到第9页定义为先决条件,从而减少代码重复?
发布于 2020-02-21 18:56:33
您可以将测试用例排除在您迭代一组配置的函数之外。您还可以使用it(或describe(并以编程方式构建测试。使用这种方法,只需要编写一次,并且仍然可以为提供者特定的部分提供一些if/else。
describe('Checkout', () => {
[
{provider: 'visa', email: 'test+visa@provider.com'},
{provider: 'mastercard', email: 'test+mastercard@provider.com'},
{provider: 'amex', email: 'test+amex@provider.com'},
].forEach((setting) => {
it(`Provider: ${setting.provider}`, () => {
cy.get(`button[data-provider="${setting.provider}"]`).click();
cy.get('#email')
.value(setting.email);
cy.assert('something');
cy.click('.next-step');
});
});
});https://stackoverflow.com/questions/60329644
复制相似问题