Closing active browsers before playback
You can use the dynamic find() API to find and close all active browsers before you play back a script to ensure that there are no active browser instances before playback.
This example shows you how to use the dynamic find() API
to search through the active domains, find all active instances of
the Microsoft Internet Explorer browser and close them. You can also
modify this example to find and close active Mozilla Firefox browsers.
public void closeAllBrowsers() {
DomainTestObject dom[] = getDomains(); // Get all domains
for (int i = 0; i < dom.length; i++) {
try {
String s = (dom[i].getImplementationName()).toString();
if ("MS Internet Explorer".equals(s)) { // If browser name equals MS Internet Explorer
(dom[i].getProcess()).kill(); // Shut down the process
sleep(2);
}
} catch (TargetGoneException e) {
}
unregisterAll(); // Ensure that you clean up the used test objects to prevent memory-related problems.
}
}
You can also use the dynamic find() API to directly find and close active instances of active
browsers (Microsoft Internet Explorer or Mozilla Firefox), as shown in this
example:
public void closeAllBrowserUsingfind(){
// Find browser objects using the Rational® Functional Tester find function and store into test object
TestObject[] browsers = find(atChild(".class", "Html.HtmlBrowser"));
if(browsers.length ==0){
System.out.println("Found no Html.HtmlBrowser");
return;
}
// Close each browser object found, after casting it to a BrowserTestObject
for (TestObject browser:browsers) {
((com.rational.test.ft.object.interfaces.BrowserTestObject) browser).close();
}
// Unregister the test objects.
unregister(browsers);
}
The two examples shown above can be used as utility functions in a script helper superclass. For more information about script helper superclasses, see Script helper superclass/base class.