Testing io:如何对不同的用户类型使用一个登录测试?
我正在使用Cypress.io测试第三方页面 我想测试一个登录页面,并有不同的用户。所有用户都可以访问不同的内容。所以我必须检查他们是否找到了正确的页面。我想使用1个测试并将数据传递到此测试 没有变量,我有以下代码:Testing io:如何对不同的用户类型使用一个登录测试?,testing,automated-tests,ui-automation,cypress,Testing,Automated Tests,Ui Automation,Cypress,我正在使用Cypress.io测试第三方页面 我想测试一个登录页面,并有不同的用户。所有用户都可以访问不同的内容。所以我必须检查他们是否找到了正确的页面。我想使用1个测试并将数据传递到此测试 没有变量,我有以下代码: cy.xpath("path) .type('manager') cy.xpath("path") .type('password') cy.xpath('path for login button') .click() 我怎样才能开始这样做?我可以用固定装置吗?如果是,如何进行
cy.xpath("path)
.type('manager')
cy.xpath("path")
.type('password')
cy.xpath('path for login button')
.click()
我怎样才能开始这样做?我可以用固定装置吗?如果是,如何进行?我可以将带有变量的登录名写入命令中,以便在其他测试中使用它吗?我建议通过
[key,value]
对进行迭代,例如:
describe('Login', () => {
const userType = new Map([
['userX', password],
['userY', password],
['userZ', password],
]);
for (const [key, value] of userType.entries()) {
it(`should be logged as ${key}`, () => {
cy.visit('/login');
cy.xpath("path).type(key)
cy.xpath("path").type(value)
cy.xpath('path_for_login_button').click()
/*
assert logic here
*/
cy.visit('/logout')
});
}
});
嗨,谢谢,但是我在哪里可以定义键?用户呢?我试过这个,它对我有效。但是,当我在诸如
if(key=='Manager'){cy.xpath('path').should('contain','Manager')}if(key=='Developer'){cy.xpath('path').should('contain','Developer')}
之类的逻辑中使用“if-else”时,我会收到一条错误消息(超时)。对于开发者来说,它不检查if的情况。我认为这里不需要if/else语句。如果您试图断言的对象包含用户类型、管理员或开发人员,只需执行以下操作:cy.xpath('path')。应该('contain',key)