如何更改登录测试方案的功能

时间:2018-03-28 12:13:37

标签: javascript function cypress

我使用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')

2 个答案:

答案 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')

文档: