首页 > 解决方案 > Cypress.io:如何为不同的用户类型使用一个登录测试?

问题描述

我正在使用 Cypress.io 来测试第三方页面。

我想测试一个登录页面并拥有不同的用户。所有用户都可以访问不同的内容。所以我必须检查他们是否得到了正确的页面。我想使用 1 Test 并将数据传递给这个测试。

没有变量我有这个代码:

cy.xpath("path)
.type('manager')
cy.xpath("path")
.type('password')
cy.xpath('path for login button')
.click()

我怎样才能开始这样做?我可以为此使用固定装置吗?如果是,如何?我可以将带有变量的登录名写入命令中以在其他测试中使用它吗?

标签: testingautomated-testsui-automationcypress

解决方案


我会建议[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')
        });
    }
});

推荐阅读