我使用Cypress.io为我的应用程序提供了以下登录方案。目前,我必须在每次测试之前使用下面的所有方案。有没有办法将其转换为一个函数,然后我可以将其称为'beforeEach'测试场景?
describe('My Login Test', function (){
it('Visit Risk App Landing Page', function (){
const typedText = 'email@address.com'
cy.visit('https://bvt-riskassessment.lmkcloud.net')
cy.get('button').click()
cy.get('a.auth0-lock-alternative-link').contains('Not your account?').click()
cy.get('input.auth0-lock-input').first()
.type(typedText)
.should('have.value', typedText)
cy.get('button').click()
cy.url().should('eq','https://bvt-riskassessment.lmkcloud.net/workflow')
答案 0 :(得分:1)
查看cypress命令。您可以创建自定义命令并执行在具有所有登录步骤的每个命令之前调用的登录命令。
https://docs.cypress.io/api/cypress-api/custom-commands.html#Parent-Commands
即Cy.login
答案 1 :(得分:0)
在 support / commands.js :
中Cypress.Commands.add('login', (email, password) => {
.visit('/login')
.get('#email_input').type(email)
.get('#password_input').type(password)
.get('button.submit').click()
});
然后在测试规范中,您可以参考:
cy.login('foo@bar.com', 'pass123')
文档: