Monday 25 July 2022

How to rerun the failed test cases in Cypress?

 


SDET Interview Question and Answers

TestNG Interview questions and answers

Jenkins Interview Questions and Answers

Appium Interview Questions and Answers

Selenium Interview Questions and answers

Java Coding Interview Questions and Answers

GIT Interview Questions and Answers

Pre-Requisite :

Install Cypress using the command mentioned in THIS LINK.

How to rerun Failed test cases using TestNG and Selenium

Introduction

With test retries, Cypress is able to retry failed tests to help reduce test flakiness and continuous integration (CI) build failures. By doing so, this will save your team valuable time and resources so you can focus on what matters most to you.

Lets explore on How to rerun the failed test cases in Cypress?

***********************

Check Selenium Interview questions from 1 to 10 below:


Check Selenium-SDET-UIAutomation Questions set 11 to 20:
Qus Set - 11 to 20

Check Selenium-SDET-UIAutomation Questions set 21 to 30:
 
Check Selenium-SDET-UIAutomation Questions set 31 to 40:

 Question Set 31-40  

**********************************

How to rerun the failed test cases in Cypress?

By default, tests will not retry when they fail. You will need to enable test retries in your configuration to use this feature.

Configure Test Retries

Global Configuration

Typically you will want to define different retry attempts for cypress run versus cypress open. You can configure this in the Cypress configuration by passing the retries option an object with the following options:

  • runMode allows you to define the number of test retries when running cypress run
  • openMode allows you to define the number of test retries when running cypress open
{
  "retries": {
    // Configure retry attempts for `cypress run`
    // Default is 0
    "runMode": 2,
    // Configure retry attempts for `cypress open`
    // Default is 0
    "openMode": 0
  }
}

Configure retry attempts for all modes

If you want to configure the retry attempts for all tests run in both cypress run and cypress open, you can configure this in the Cypress configuration by defining the retries property and setting the desired number of retries.

{
  "retries": 1
}

Custom Configurations

Individual Test(s)

If you want to configure retry attempts on a specific test, you can set this by using the test's configuration.

// Customize retry attempts for an individual test
describe('User sign-up and login', () => {
  // `it` test block with no custom configuration
  it('should redirect unauthenticated user to sign-in page', () => {
    // ...
  })

  // `it` test block with custom configuration
  it(
    'allows user to login',
    {
      retries: {
        runMode: 2,
        openMode: 1,
      },
    },
    () => {
      // ...
    }
  )
})

Test Suite(s)

If you want to configure try attempts for a suite of tests, you can do this by setting the suite's configuration.

// Customizing retry attempts for a suite of tests
describe('User bank accounts', {
  retries: {
    runMode: 2,
    openMode: 1,
  }
}, () => {
  // The per-suite configuration is applied to each test
  // If a test fails, it will be retried
  it('allows a user to view their transactions', () => {
    // ...
  }

  it('allows a user to edit their transactions', () => {
    // ...
  }
})

You can find more information about custom configurations here: Test Configuration



Once test retries are enabled, tests can be configured to have X number of retry attempts. For example, if test retries has been configured with 2 retry attempts, Cypress will retry tests up to 2 additional times (for a total of 3 attempts) before potentially being marked as a failed test.

When each test is run again, the following hooks will be re-run also:

  • beforeEach
  • afterEach

Below is a detailed step-by-step example of how test retries work:

Assuming we have configured test retries with 2 retry attempts (for a total of 3 attempts), here is how the tests might run:

  1. A test runs for the first time. If the test passes, Cypress will move forward with any remaining tests as usual.

  2. If the test fails, Cypress will tell you that the first attempt failed and will attempt to run the test a second time.


  1. If the test passes after the second attempt, Cypress will continue with any remaining tests.

  2. If the test fails a second time, Cypress will make the final third attempt to re-run the test.



  1. If the test fails a third time, Cypress will mark the test as failed and then move on to run any remaining tests.


The following is a screen capture of what test retries looks like on the same failed test when run via cypress run.


During cypress open you will be able to see the number of attempts made in the Command Log and expand each attempt for review and debugging if desired.

Screenshots

When a test retries, Cypress will continue to take screenshots for each failed attempt or cy.screenshot() and suffix each new screenshot with (attempt n), corresponding to the current retry attempt number.

With the following test code, you would see the below screenshot filenames when all 3 attempts fail:

describe('User Login', () => {
  it('displays login errors', () => {
    cy.visit('/')
    cy.screenshot('user-login-errors')
    // ...
  })
})
// screenshot filename from cy.screenshot() on 1st attempt
'user-login-errors.png'
// screenshot filename on 1st failed attempt
'user-login-errors (failed).png'
// screenshot filename from cy.screenshot() on 2nd attempt
'user-login-errors (attempt 2).png'
// screenshot filename on 2nd failed attempt
'user-login-errors (failed) (attempt 2).png'
// screenshot filename from cy.screenshot() on 3rd attempt
'user-login-errors (attempt 3).png'
// screenshot filename on 3rd failed attempt
'user-login-errors (failed) (attempt 3).png'
This content is from Cypress official website






Check below link for question and answers with code:

Top API Interview Question 1-10

*************************************************

SeleniumWebdriver Automation Testing Interview Questions:

API Testing Interview Question Set:
https://automationreinvented.blogspot.com/search/label/Rest-API

 
Kubernetes Interview Question Set
https://automationreinvented.blogspot.com/search/label/Kubernetes

 
Docker Interview Question Set
https://automationreinvented.blogspot.com/2020/02/top-18-docker-commands-for-aytomation.html

 
Linux Interview question Set
https://automationreinvented.blogspot.com/search/label/Linux

 
Automation Testing/SDET Framework Design
https://automationreinvented.blogspot.com/search/label/FrameworkDesign


Java Related Interview Question Set

https://automationreinvented.blogspot.com/search/label/Java


GIT Interview Question Set:
https://automationreinvented.blogspot.com/search/label/GIT


Coding Interview Question Set:
https://automationreinvented.blogspot.com/search/label/Coding%20Questions
Mobile Testing Interview Question Set:
https://automationreinvented.blogspot.com/search/label/Mobile%20Testing

Python Interview Question Set for QAE - SDET - SDE:
https://automationreinvented.blogspot.com/search/label/Python

All Time Popular Posts

Most Featured Post

API Status Codes with examples for QA-Testers

  🔺 LinkedIn: https://www.linkedin.com/in/sidharth-shukla-77b53145/ 🔺 Telegram Group:  https://t.me/+FTf_NPb--GQ2ODhl 🏮In API testing, it...