Playing back the recorded tests always requires that the tested application be in the same state as it was before test recording. For instance, if your tested browser was running before you started the recording, you have to launch it manually each time before you run the test. Also, we recommend that your test returns the tested application to the initial state at the end of the test. In other words, if your test launches the browser automatically at the beginning, it is recommended that the test closes the browser at the end of the run. This approach allows you to avoid making additional preparations before a new test run.
However, closing the browser at the end of the test does not guarantee the browser is actually closed. For instance, your test may fail before it reaches the operation that closes the browser. In such cases, the browser will stay open after the test run is over.
Although the test will not fail if you try to run a new browser instance at the beginning of the test execution, it is not recommended to use the previous session for a new test run. In such cases, the tested browser may behave unexpectedly. For example, the cookies or browser cache may store information specific to the open session. To minimize the influence of such factors and to make your web tests more reliable, we recommend that you check whether the browser is running at the beginning of each test run. If it is running, close it and then reopen it with the desired page loaded. This approach will help you avoid test failures caused by the previous browser sessions.
This topic describes how you can check whether the tested web browser is running from your tests.
There can be several instances of running browsers. To close all of them, you can check for a running browser and close it until no running browsers are left. Alternatively, to check for a running browser only once, you can use a simple conditional branch.
To make sure that all running browsers are closed, you need to perform a repeated check for a running browser. For this purpose, we recommend that you use the While Loop operation with the following conditional statement:
Sys.WaitBrowser().Exists Equals True. For detailed information on specifying conditions, see the operation’s description.
To close a running browser you can, for example, call the
Close method of the
Browser object using the On-Screen Action operation. See Closing Browsers for details. The closing actions must be added as child operations of the While Loop operation. Otherwise, an infinite loop will occur.
To re-launch the browser, use the Run Browser operation.
The image below is a snapshot of a sample keyword test that checks if one or more browsers are running, closes all running browsers (if any) and then launches the browser with the http://smartbear.com page open in it.
To close only one instance of a browser, or to perform any other action when a browser is already running, you can also use conditional operations. In this case, the test will search for a running browser only once and will then proceed to the other instructions.
For this purpose, you can use the If Object operation where the Object parameter is set to Sys.WaitBrowser() and the Condition parameter is set to Exists.
The image below demonstrates a sample keyword test that checks if a browser is running and displays a custom warning message on success.
To check whether the browser is running, you can use the
Exists property of the
Browser test object that corresponds to the web browser. To obtain the
Browser test object, you can use the
Sys.WaitBrowser() method, or the
Aliases.browser mapped name (if Name Mapping is used).
To close all the instances of running browsers, check for a browser within the
while loop. To close only one instance of a browser, or to perform any other action when a browser is already running, check for a running browser within the
The following code closes all running browsers (if any) and then launches a new instance of Internet Explorer:
// if (Sys.WaitBrowser().Exists)
def Check(): while Sys.WaitBrowser().Exists: # if Sys.WaitBrowser().Exists then Sys.WaitBrowser().Close(); Browsers.Item[btIExplorer].Run('http://smartbear.com');
' If Sys.WaitBrowser().Exists Then
' End If
while Sys.WaitBrowser().Exists do
// if Sys.WaitBrowser().Exists then
while ( Sys["WaitBrowser"]()["Exists"] )
// if ( Sys["WaitBrowser"]()["Exists"] )