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.

Launch New Browser

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 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
$urlstring optional URL to load on opening new browser instance. If URL is null, the Start URL of the script is launched.
$browserTypestring 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


Select Browser

Selects the particular browser instance. Further steps in the script will be directed to the selected instance.

Parameters
$browserInstanceIdstring 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