Cypress 错误:[vee-validate] 验证不存在的字段:“#8”。首先使用“attach()”

问题描述 投票:0回答:1

我有简单的测试。它所做的只是在输入字段中提供数据并发送它们:

  it('Try to change email', () => {

    cy.login({email: Cypress.env('basicemail'), password: Cypress.env('changepassword')})
    cy.wait(2500)
    cy.get('nav > .account-info > div > img').click()
    cy.get('aside > ul > :nth-child(5) > a').click()
    cy.wait(2500)

    cy.get('a').contains('Change email').click()

    cy.get('input[name="newEmail"]').clear().type(Cypress.env('changeemail'))
    cy.get('input[name="newEmailConfirm"]').clear().type(Cypress.env('changeemail'))
    cy.get('input[name="changeEmailPassword"]').clear().type(Cypress.env('changepassword'))

    cy.get('a').contains('Confirm').click()
    cy.get(':nth-child(5) > .settings-modal-wrapper > .button').click()

    // HERE IS ERROR
    cy.get('.modal-description').contains(`Email with confirmation link has been sent to ${Cypress.env('changeemail')}. Please follow instruction from the email.`)

    cy.get('.modal-header > img').click()
    cy.get('aside > ul > :nth-child(7) > a').click()
  })

点击按钮后,我得到 3 个错误:

Error: [vee-validate] Validating a non-existent field: "#8". Use "attach()" first.

Error: [vee-validate] Validating a non-existent field: "#9". Use "attach()" first.

Error: [vee-validate] Validating a non-existent field: "#10". Use "attach()" first.

其实我也不知道是什么意思,一直在找,但是没有相关资料

这是它在控制台中的样子:

javascript testing cypress e2e-testing vee-validate
1个回答
2
投票

我已经解决了这个问题。实际上它甚至不是关于前端,而是关于我的 API。

问题是当访问其他页面时,cypress 会从

localStorage
中删除所有内容,因此我必须执行一些操作以将其保存在
localStorage
- 再登录一次。

所以,小心这个,问题可能在 API 中,而不是前面。

© www.soinside.com 2019 - 2024. All rights reserved.