【问题标题】:Actions before Retry on Cypress在 Cypress 上重试之前的操作
【发布时间】:2022-08-17 15:35:50
【问题描述】:

我正在赛普拉斯上写一个测试,我想在重试之前清除字段值。我该怎么做?

it(\'Fill info\', { retries: 3 },function () {
    cy
        .get(\'#name\')
        .type(\'Test\')

    cy.intercept(\'POST\', \'**/api/**/Find\')
        .as(\'memberresponse\')

    cy
        .get(\'.btn\')
        .click()

    cy.wait(\'@memberresponse\').then(xhr => {
        cy.log(JSON.stringify(xhr.response.body));
        cy.writeFile(\'***/memberinfo.json\', xhr.response.body)
    })
})

如果请求不通过,我想在重试之前清除字段值。我应该怎么办?

    标签: jquery selenium-webdriver automated-tests cypress ui-automation


    【解决方案1】:

    这是你想要的?

    cy.get('#name')
      .clear()
      .type('Test')
    

    我认为每次运行(第一次或重试)都可以清除它。

    否则,您可以在测试中包含页面加载 (cy.visit)。

    【讨论】:

      【解决方案2】:

      只需在输入之前添加clear,如下所示:

      it('Fill info', {retries: 3}, function () {
        cy.get('#name').clear().type('Test')
      
        cy.intercept('POST', '**/api/**/Find').as('memberresponse')
      
        cy.get('.btn').click()
      
        cy.wait('@memberresponse').then((xhr) => {
          cy.log(JSON.stringify(xhr.response.body))
          cy.writeFile('***/memberinfo.json', xhr.response.body)
        })
      })
      

      【讨论】:

        猜你喜欢
        • 2018-06-06
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        • 1970-01-01
        • 2016-03-08
        • 2021-08-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多