Как вернуть данные из кастомной команды и снова использовать их в cypress

const { generateNum } = require("./generate_num")  

Cypress.Commands.add('NewUserRegister', () => {
const { userName, email, password} = generateNum();
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()
});

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

cy.get(':nth-child(1) > .form-control').type(?????????)
cy.get(':nth-child(2) > .form-control').type(?????????)

Так что я сделал это

const { generateNum } = require("./generate_num")

Cypress.Commands.add('NewUserRegister', () => {
const { userName, email, password} = generateNum();
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()
return cy.wrap(userName, email, password)
});

И это

it('log in register user', () => {
cy.then(data => {
cy.get(':nth-child(2) > .nav-link').should('contain.text', 'Sign in').click()
cy.get(':nth-child(1) > .form-control').type(data.email)
cy.get(':nth-child(2) > .form-control').type(data.password)
cy.get('.btn').should('contain.text', 'Sign in').click()
})

TypeError Cannot read properties of undefined (reading 'email')


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