【问题标题】:I want to check Ajax form submit progress message我想检查 Ajax 表单提交进度消息
【发布时间】:2018-12-27 05:18:47
【问题描述】:

将显示一条消息“Ajax 请求正在处理中!”在单击一个 ajax 表单提交时,该过程正在进行中。 一旦该过程完成,我们将收到另一条消息“表单提交成功!” 我正在尝试使用 Cypress.io 检查进度消息,但断言始终只能获得最终文本。

describe('Verify that Fe male is selected', function () {
    it('clicks the link "type"', function () {
        cy.visit('https://www.seleniumeasy.com/test/ajax-form-submit-demo.html')
        cy.get('#title').type("MyTest Name").should('have.value', 'MyTest Name')
        cy.get('#description').type("MyTest Description")
        cy.get('#btn-submit').click().should('not.exist')
        cy.get('#submit-control').should('have.text',"Ajax Request is Processing!")
        cy.get('#submit-control').should('have.text',"Form submited Successfully!")
    })
})

但这总是失败,显示断言错误 CypressError: Timed out retrying: expected '' to have text 'Ajax Request is Processing!',但文本是'Form submit successfully!'

我们如何检查在提交操作进行时显示的临时消息。

附上图片

【问题讨论】:

  • 这可能是由于提交请求太快造成的,其中 cypress 可能会在 Ajax Request is Processing 已经被 Form submited Successfully 替换后立即对其进行 DOM 检查。我没有对此进行测试,但可能唯一的解决方案是为此类测试引入人工延迟。这就是我们所做的。

标签: ajax forms submit cypress


【解决方案1】:

尝试使用包含:

cy.contains("Ajax 请求正在处理中!") cy.contains("表单提交成功!")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2017-11-01
    • 1970-01-01
    相关资源
    最近更新 更多