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._launchNewBrowser
Since: | Sahi Pro | Desktop Add-On | Mobile Add-On | SAP Add-On | AI Assist Add-On |
5.1.0 | NA | NA | NA | NA |
Available for modes: Browser
_launchNewBrowser([$url[, $browserType]])
Arguments
$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. |
Returns
string | Browser instanceId. This can be passed to _selectBrowser |
Sahi Pro Flowcharts Action :Launch New Browser
Details
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.
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, _launchNewBrowser
will fail. _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
...
// Examples for specifying arguments
var $id1 = _launchNewBrowser(); // Launches a new chrome browser instance if base window is chrome.
// launch a new chrome browser instance and navigate to "http://myapp/login.html"
var $id2 = _launchNewBrowser("http://myapp/login.html");
// launch a new firefox browser instance
var $id3 = _launchNewBrowser(null, "firefox");
// launch a new firefox browser instance and navigate to "http://myapp/login.html"
var $id4 = _launchNewBrowser("http://myapp/login.html", "firefox");
_selectBrowser
Since: | Sahi Pro | Desktop Add-On | Mobile Add-On | SAP Add-On | AI Assist Add-On |
5.1.0 | NA | NA | NA | NA |
Available for modes: Browser
_selectBrowser([$browserInstanceId])
Arguments
$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. |
Returns
null |
Sahi Pro Flowcharts Action :Select Browser
Details
Selects the particular browser instance. Further steps in the script will be directed to the selected instance.
Selects the particular browser instance. Further steps in the script will be directed to the selected instance.
_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
...