【问题标题】:How to reload the first test case if it fails in cypress如果在赛普拉斯中失败,如何重新加载第一个测试用例
【发布时间】:2022-06-30 15:34:26
【问题描述】:

每个功能测试用例都从 cypress 中的着陆页测试开始。

由于网络连接问题,我们在这里目睹了失败。

it('should load home page', () => {
    cy.waitUntil(() =>
      cy.contains('Home', { timeout: 500000 }).should('exist')
    );
  });

那么,如果这个测试用例失败一两次,有没有办法重新加载它并避免递归?

我怀疑重试可以在这里工作,如果可以,我们如何配置它?

【问题讨论】:

    标签: javascript testing cypress integration-testing e2e-testing


    【解决方案1】:

    您可以使用Test Retries。您可以将其添加到测试套件级别、测试用例级别或全局。如果失败,将重新触发测试。

    it(
      'should load home page',
      {
        retries: {
          runMode: 2,
          openMode: 1,
        },
      },
      () => {
        cy.waitUntil(() => cy.contains('Home', {timeout: 500000}).should('exist'))
      }
    )
    

    【讨论】:

    • 谢谢,我在文档中查看了这个。 OpenMode 是指打开浏览器。流水线测试在 headless 模式下运行,这行得通吗?
    • 是的 runMode 适用于无头。 openMode 用于测试运行器。您可以同时添加它们。其次是你想重试多少次。所以 2 表示,一旦失败,重试会发生 2 次,意味着总共会执行 3 次。
    猜你喜欢
    • 2021-12-12
    • 1970-01-01
    • 2020-08-05
    • 2020-08-22
    • 2021-10-28
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多