executeAsync
Inject a snippet of JavaScript into the page for execution in the context of the currently selected
frame. The executed script is assumed to be asynchronous and must signal that is done by invoking
the provided callback, which is always provided as the final argument to the function. The value
to this callback will be returned to the client.
Asynchronous script commands may not span page loads. If an unload event is fired while waiting
for a script result, an error should be returned to the client.
The script argument defines the script to execute in the form of a function body. The function will
be invoked with the provided args array and the values may be accessed via the arguments object
in the order specified. The final argument will always be a callback function that must be invoked
to signal that the script has finished.
Arguments may be any JSON-primitive, array, or JSON object. JSON objects that define a WebElement
reference will be converted to the corresponding DOM element. Likewise, any WebElements in the script
result will be returned to the client as WebElement JSON objects.
Usage
1
| browser.executeAsync(script,arguments);
|
Parameters
Param |
Type |
Details |
script |
String/Function |
The script to execute. |
arguments |
* |
script arguments |
Example
executeAsync.js1 2 3 4 5 6 7 8 9 10 11 12 13
| it('should execute async JavaScript on the page', function () { browser.timeoutsAsyncScript(5000);
var result = browser.executeAsync(function(a, b, c, d, done) { setTimeout(function() { done(a + b + c + d); }, 3000); }, 1, 2, 3, 4)
console.log(result.value); });
|