Имеются две кастомные команды в commands.js
Первая делает запрос, парсит результат, записывает в файл имя и имейл.
Вторая инициализирует форму регистрации для имейла, полученного первой командой.
Как реализовать передачу значения имейла, полученного в результате запроса первой командой, для последующего использования второй командой наилучшим образом?
Cypress.Commands.add("getMockData", function() {
cy.request('https://api.mockaroo.com/api/b2e4f1f0?count=1&key=46aaa0a0').its('body.0').as('body')
.then((user) => {
cy.writeFile('cypress/fixtures/user.json',
{ "firstName": user.first_name, "lastName": user.last_name, "email": user.email }, {log: 'true'})
cy.wrap(user.email).as('email')
})
})
Cypress.Commands.add("initRegForm", function() {
reg.getNewEmailField().clear()
reg.getNewEmailField().type(this.email) // Cannot read property 'email' of undefined
reg.createNewAccountButton().click()
})
Также буду благодарен за объяснение, почему при попытке обращения к
this.email
получаем ошибку (
Cannot read property 'email' of undefined), хотя в то же время, если я открываю консоль в режиме отладки перед этой строкой, то
this.email
возвращает мне корректное значение, полученное из предыдущей команды.