Если вы напишите эти 3 шага как отдельные функции, вы сможете добиться того же эффекта, что и вы:
login(user, pass){
cy.visit(loginUrl)
cy.get('#username').type(user)
cy.get('#password').type(pass)
return cy.contains('Submit').click()
}
stepTwo(){
... // Other stuff
}
stepThree(){
... // More stuff
}
Given('I log in as {string} with password {string}', function (username, password) {
return login(username, password)
})
Given('some set up step', function () {
login('bill.s.preston@wyldstallyns.com', 'bodacious')
return stepTwo()
})
Given('another set up step', function () {
login('theodore.logan@wyldstallyns.com', 'triumphant')
stepTwo()
return stepThree()
})