如何使赛普拉斯的测试可重复?

时间:2019-07-16 06:45:26

标签: testing integration-testing cypress end-to-end

我有一个具有各种用户类型(例如admin,客户端等)的网站,尽管他们都具有特定于其用户类型的功能,但也共享一些功能。如何定义一组测试,以便它们以一种用户类型登录时可以运行,然后以另一种用户类型登录时可以再次运行?

我了解Cypress.Commands.add(),但是我还没有找到一种将其用于大量可重复测试的方法,仅用于重复单个测试的内部内容。

1 个答案:

答案 0 :(得分:1)

根据您拥有多少种常见方案,可以使用数据驱动的方法,例如:

context('common scenarios', () => {
    const credentials = [
        {userName: "user1", password: "password1", userType: "admin"},
        {userName: "user2", password: "password2", userType: "client"}
    ]

    credentials.forEach(cr => {
        it(`should be able to login as ${cr.userType}`, () => {
            // ...
            // use cr.userName, etc...
            // ...
        })
    })
})