Skip to main content

Re-Execute failed tests

HOW TO! Rerun failed testcases in Robot Framework

Re-Execute Failed Tests and merge results​

It is possible to run the same test suite(s) multiple times - but only re-run the failed tests. Afterwards the results can be merged into a single results file using rebot. You can find the required steps in the Robot Framework User Guide

robot --output original.xml tests # first execute all tests
robot --rerunfailed original.xml --output rerun.xml tests # then re-execute failing
rebot --merge original.xml rerun.xml # finally merge results

RetryFailed Listener​

The RetryFailed Listener can automatically retry tests or tasks based on tags.

Installation​

Install with pip:

pip install robotframework-retryfailed

Usage​

Add the listener to your robot execution, via command line arguments. When your tests do fail and you have tagged them with test:retry(2), it will retry the test 2 times. Retry can be also set globally as a parameter to the listener.

Attaching Listener​

Example:

robot --listener RetryFailed <your robot suite>

robot --listener RetryFailed:1 <robot suite>

Second one will by default retry once every failing test.

Tagging Tests​

Example:

*** Test Cases ***
Test Case
[Tags] test:retry(2)
Log This test will be retried 2 times if it fails

Tagging tasks by task:retry(3) should also work.

Wait Until Keyword Succeeds​

Runs the specified keyword and retries if it fails.

Check out the Wait Until Keyword Succeeds keyword in the Robot Framework BuiltIn library.

Example:

*** Test Cases ***
Test Case
Wait Until Keyword Succeeds 2 min 5 sec My keyword argument
${result} Wait Until Keyword Succeeds 3x 200ms My keyword
${result} Wait Until Keyword Succeeds 3x strict: 200ms My keyword