Как вернуть данные из кастомной команды и снова использовать их в 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')