Multiple Browser Instances in Single Script
In a scenario like chatting, a test case may require 2 application users to be simultaneously logged in. Sahi Pro V5.1 and above provides the ability to launch new browser instances from a single script. These instances do not share cookies so they can allow multiple application users to be logged into the system simultaneously.
Launches a new browser instance. Note that this browser instance does not share cookies with the base browser.
This new browser instance is useful for testing functionality like chat where 2 simultaneous users need to be logged in into the system.
Once launched, steps can be directed to different browser instances by adding
_selectBrowser
API.Once launched, steps can be directed to different browser instances by adding
Select Browser
Action.infoSahi tries to get a browser instance from a separate pool of instances (defined by browserType capacity in browser_types.xml).
If one is available it will return immediately. If not, Sahi will wait and retry x number of times.
x is defined by property
x is defined by property
browser.max_wait_count_for_available_thread_from_dashboard
in sahi.properties
If an instance is still not available, Launch New Browser
will fail. Parameters
$url | string optional | URL to load on opening new browser instance. If URL is null, the Start URL of the script is launched. |
$browserType | string optional | Browser type to launch. If null, a browser instance of the Default browser type is launched. |
Return Value
string | Browser instanceId. This can be passed to _selectBrowser |
Modes Supported :
Raw Script
_navigateTo("http://myapp/login.html");
// login as first user
...
// launch a new browser instance
var $instanceId = _launchNewBrowser("http://myapp/login.html");
_wait(5000);
// wait and select the new browser instance using the instanceId
_selectBrowser($instanceId);
// log in as second user
// send a chat message to first user
...
// Select the base window
_selectBrowser();
// view chat window and verify second user's chat message has arrived
...
Sahi Pro Classic API :_launchNewBrowser
Selects the particular browser instance. Further steps in the script will be directed to the selected instance.
Parameters
$browserInstanceId | string optional | browserInstanceId to forward further steps to. If not specified, steps are forwarded to the default browser that the script was started with. |
Return Value
Modes Supported :
Raw Script
_navigateTo("http://myapp/login.html");
// login as first user
...
// launch a new browser instance
var $instanceId = _launchNewBrowser("http://myapp/login.html");
_wait(5000);
// wait and select the new browser instance using the instanceId
_selectBrowser($instanceId);
// log in as second user
// send a chat message to first user
...
// Select the base window
_selectBrowser();
// view chat window and verify second user's chat message has arrived
...
Sahi Pro Classic API :_selectBrowser