Automation 使用和不使用commands.js或it块时的不同结果

Automation 使用和不使用commands.js或it块时的不同结果,automation,cypress,pageobjects,Automation,Cypress,Pageobjects,我正在使用Cypress.io实现前端自动化 当我在一个it块中直接将所有命令输入规范时,测试通过 但是,如果我将命令放入commands.js、几个Cypress.commands.add块或规范中的单个it块中,测试就会失败 我不知道为什么。下面是我的commands.js文件 Cypress.Commands.add ("modals", {prevSubject: false}, () => { cy.get('#continueInBrowserBtn').should(

我正在使用Cypress.io实现前端自动化

当我在一个it块中直接将所有命令输入规范时,测试通过

但是,如果我将命令放入commands.js、几个Cypress.commands.add块或规范中的单个it块中,测试就会失败

我不知道为什么。下面是我的commands.js文件

Cypress.Commands.add ("modals", {prevSubject: false}, () => {
    cy.get('#continueInBrowserBtn').should('be.visible').click()
    cy.get('#cpp-agree-btn').should('be.visible').click()
})

Cypress.Commands.add ("loginGuest", {prevSubject: false}, () => {
    cy.get('#input_email-info').should('be.visible').type('eric+test@centraldesktop.com')
    cy.get('#email-continue-btn').should('be.visible').click()
    cy.get('pgi-label-input.guest-input.first-name.web-input-area.ng-untouched.ng-pristine').should('be.visible')
    cy.get('pgi-label-input.guest-input.first-name.web-input-area.ng-untouched.ng-pristine > div > input').type('Eric')
    cy.get('pgi-label-input.guest-input.last-name.web-input-area.ng-untouched.ng-pristine > div > input').type('Test')
    cy.get('div.guest-continue-button.continue-button > pgi-text-button > button').click()
    cy.get('pgi-text-button.ng-tns-c8-0.ng-star-inserted > button > span').should('be.visible').click()
    cy.wait(3000)
})

Cypress.Commands.add ("loginHost", {prevSubject: false}, () => {
    cy.log('Enter Email')
    cy.get('#input_email-info').should('be.visible').type('6597076')
    cy.get('.pgi-button-wrapper').should('be.visible').click()

    cy.log('Enter Password')
    cy.get('#input_password-info').should('be.visible').type('r44XkP33')

    cy.log('Click Sign in')
    cy.get('#password-signin-btn > button > span').should('be.visible').click()
})

Cypress.Commands.add ("logout", {prevSubject: false}, () => {
    cy.get('bottom-container-right > div > div > div').should('be.visible').click()
    cy.get('pgi-text-button.yes-button > button > span').should('be.visible').click()
    cy.wait(2000)
    cy.get('feedback-panel > pgi-panel > h2').should('be.visible')
})

在阅读了Cypress文档的最佳实践部分后,我意识到我的方法是错误的

失败是什么样子的?是否有任何错误消息?另外,您能否提供一个更狭义的代码示例来演示这个问题?