как вернуть данные для использования на другой странице в Cypress

 it('register', () => {

        cy.get(':nth-child(3) > .nav-link').should('contain.text', 'Sign up').click()
        
        cy.get(':nth-child(1) > .form-control').type(userName)
        
        cy.get(':nth-child(2) > .form-control').type(email)
        
        cy.get(':nth-child(3) > .form-control').type(password)

        cy.get('.btn').should('contain.text', 'Sign in').click()
    });
  • создал нового пользователя на странице регистрации (рандомные данные).
  • теперь надо залогинится с этими рандомными данными на странице входа.

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

  it('Log in', () => {
        
        cy.get(':nth-child(1) > .form-control')
        .type(рандомный email с register) <-что здесь писать

        cy.get(':nth-child(2) > .form-control')
        .type(рандомный password с register) <-что здесь писать

        cy.get('.btn').should('contain.text', 'Sign in').click()
    });

Ответы (1 шт):

Автор решения: Andrei Popruha
it('register', () => {
   const userName = generateRandomUsername();
   const email = generateRandomEmail();
   const password = generateRandomPassword();
   ...
   cy.get(':nth-child(1) > .form-control').type(userName);
   cy.get(':nth-child(2) > .form-control').type(email);
   cy.get(':nth-child(3) > .form-control').type(password);
});

it('Log in', () => {
   cy.get(':nth-child(1) > .form-control').type(email);
   cy.get(':nth-child(2) > .form-control').type(password);
   ...
});

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

→ Ссылка