Even the best designed testcases can have some instability due to timing issues, flakey infrastructure software, or product software not directly being tested. In some cases, it may be a temporary condition that needs handling to prevent other progress. Automatic retry support is critical for those specific cases. It should be used sparingly , only where needed. Conditional retry helps to isolate the retry processing to specific cases if needed.
Testcase parameters related to retry:
- retry - number of times to retry
- retrySleep - wait time between retries
- retryData - condition the retry based on finding data in the result
- retryCancelData - condition the retry based on not finding data in the result
- retryClosure - called when retry is requested and provides an opportunity to change testcase information before the retry occurs