Javascript 如何将登录测试场景更改为功能

Javascript 如何将登录测试场景更改为功能,javascript,function,cypress,Javascript,Function,Cypress,我使用Cypress.io为我的应用程序提供了以下登录场景。目前,我必须在每次测试之前使用以下所有场景。有没有一种方法可以将其转换为一个函数,然后作为“beforeach”测试场景调用 describe('My Login Test', function (){ it('Visit Risk App Landing Page', function (){ const typedText = 'email@address.com' cy.visit('htt

我使用Cypress.io为我的应用程序提供了以下登录场景。目前,我必须在每次测试之前使用以下所有场景。有没有一种方法可以将其转换为一个函数,然后作为“beforeach”测试场景调用

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

查看cypress命令。您可以创建自定义命令,并执行登录命令,该命令在包含所有登录步骤的每个步骤之前被调用


Ie Cy.login

检查cypress命令。您可以创建自定义命令,并执行登录命令,该命令在包含所有登录步骤的每个步骤之前被调用


Ie Cy.login

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“


文档:支持/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“

文档: