If you are working on test automation of enterprise application or applications with huge functionality and various combinations of test data or you need to verify authorization for different roles and responsibilities, you would surely end up in to situations where you must close the entire application and start from clean state. Especially if you are testing enterprise applications like Oracle EBS Application / SAP / SalesForce / Siebel / JD Edwards / etc..
In this article, we wanted to share with you 4 cases where you have to close the entire application and keep a clean state
Case 1: Multiple scripts lined up to execute
When multiple scripts are scheduled to execute one after the other on a machine, each script expects the machine to be in a clean state so that the script can execute you want to have a clean state at the end of successful completion of each script execution.
Case 2: Switch between users of same application
In between of the test automation scenario for a business transaction, where you have to switch between users, may be for reasons like you have submitted a request using one user and needs to be approved by another user in the application under test
Case 3: Abrupt failure in middle of a script execution.
Sometimes the script might get stopped abruptly and if there is another script in queue to be triggered in the same machine, the next script might fail if the machine is not in a clean state, so that it can launch a fresh browser or window and continue the execution.
Case 4: Execute the script for multiple iterations of test data
When you parameterized test data of your test automation script, i.e. the same script can run for different sets of test data ( test data iterations ), irrespective of whether the test script fails or passes for any test data iteration, the entire application needs to be closed before the next iteration starts the execution, which otherwise all the consecutive iterations might fail for no reason.
Some automation tools might give preferences or settings in the tool itself to close everything on completion of a script execution irrespective of a pass or a failure, there might be an option for each iteration too.