Testing 如何使测试在Cypress中可重复?

Testing 如何使测试在Cypress中可重复?,testing,integration-testing,cypress,end-to-end,Testing,Integration Testing,Cypress,End To End,我有一个具有各种用户类型的站点(例如管理员、客户端等),虽然它们都具有特定于其用户类型的功能,但也有一些共享的功能。如何定义一组测试,以便在作为一种用户类型登录时可以运行这些测试,然后在作为另一种用户类型登录时再次运行这些测试 我知道Cypress.Commands.add(),但我还没有找到一种方法将其用于大量可重复的测试,只用于重复单个测试的内部内容。根据您有多少常见场景,您可以使用数据驱动的方法,例如: context('common scenarios', () => {

我有一个具有各种用户类型的站点(例如管理员、客户端等),虽然它们都具有特定于其用户类型的功能,但也有一些共享的功能。如何定义一组测试,以便在作为一种用户类型登录时可以运行这些测试,然后在作为另一种用户类型登录时再次运行这些测试


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

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

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...
            // ...
        })
    })
})

感谢您的回复,但是这对我的用例不起作用,因为每个用户类型都有不同的步骤来访问共享部分,而且我也不希望所有内容都包含在一个大文件中。