Cypress.io: Как использовать один тест входа в систему для разных типов пользователей? - PullRequest
1 голос
/ 17 июня 2020

Я использую Cypress.io для тестирования сторонней страницы.

Я хочу протестировать страницу входа и иметь разных пользователей. Все пользователи имеют доступ к разному контенту. Поэтому я должен проверить, попали ли они на нужную страницу. Я хочу использовать 1 тест и передать данные в этот тест.

без переменных У меня есть этот код:

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

Как я могу начать это делать? я могу использовать для этого приспособления? если да, то как? Могу ли я записать свой логин с переменными в команды, чтобы использовать его в других тестах?

1 Ответ

2 голосов
/ 17 июня 2020

Я предлагаю итерацию по [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')
        });
    }
});
...