invicti.
auth
Contains form authentication helper methods.
Methods
applyOtp(otpopt)
Tries to find an OTP form and fill the specified password.
Parameters:
Name Type Attributes Description
otp string <optional> The OTP token to fill.
click(el, delayopt)
Simulates a click for the specified el.
Parameters:
Name Type Attributes Description
el string | The element to click.
HTMLElement
delay number <optional> The number of milliseconds (thousandths of a second) that
the click should be delayed by. Note that all delays are
timed from the beginning of the script execution and does
not work in sequence if you have several function calls with
delay.
Example
// Click element by id
[Link]('LoginButton');
// Click element by id after 2 seconds
[Link]('LoginButton', 2000);
// Click element by DOM element reference
[Link]([Link]('BUTTON')[0]);
clickByQuery(query, delayopt)
Simulates a click for the element specified by the CSS query.
Parameters:
Name Type Attributes Description
query string The CSS query that locates the element.
delay number <optional> The number of milliseconds (thousandths of a second) that the
click should be delayed by. Note that all delays are timed from the
beginning of the script execution and does not work in sequence
if you have several function calls with delay.
Example
// Click element by using a complex CSS query
[Link]('#loginForm > div:nth-child(2) > button');
// Click element by id
[Link]('#LoginButton');
// Click element by id after 2 seconds
[Link]('#LoginButton', 2000);
clickByQueryAsync(query, delayopt)
Simulates a click for the element specified by the CSS with waiting query selector.
Parameters:
Name Type Attributes Description
query string The CSS query that locates the element.
delay number <optional> The number of milliseconds (thousandths of a second) that the
click should be delayed by. Note that all delays are timed from the
beginning of the script execution and does not work in sequence
if you have several function calls with delay.
Example
// Click element by using a complex CSS query
await [Link]('#loginForm > div:nth-child(2) > button');
// Click element by id
await [Link]('#LoginButton');
// Click element by id after 2 seconds
await [Link]('#LoginButton', 2000);
executeInFrame(frameEl, code, delayopt)
Executes the supplied code in specified frame element.
Parameters:
Name Type Attributes Description
frameEl string | The frame element id or DOM reference to execute code.
HTMLElement
code string The code to execute.
delay number <optional> The number of milliseconds (thousandths of a second)
that the code execution should be delayed by. Note that
all delays are timed from the beginning of the script
execution and does not work in sequence if you have
several function calls with delay.
Example
// Clicks an element inside a frame
var frame = [Link]('IFRAME')[1];
[Link](frame, '[Link]("LoginButton");');
log(message)
Logs a message.
Parameters:
Name Type Description
message string The message.
Example
// Log a simple message
[Link]('Hello world!');
login(usernameopt, passwordopt, otpopt, delayopt)
Tries to find a login form and fill the specified credentials.
Parameters:
Name Type Attributes Description
username string <optional> The username to fill.
password string <optional> The password to fill.
otp string <optional> The one time password to fill.
delay number <optional> The number of milliseconds (thousandths of a second) that
the login should be delayed by. Note that all delays are timed
from the beginning of the script execution and does not work
in sequence if you have several function calls with delay.
Example
// Login using hard-coded values
[Link]('[Link]', 'p4ssw0rd', '543326');
// Login using hard-coded values after 2 seconds
[Link]('[Link]', 'p4ssw0rd', '543326', 2000);
// Login using implicit credentials (current persona)
[Link]();
// Login using implicit credentials (current persona) after 2 seconds
[Link](2000);
request(uriopt, requestObjectopt)
Sends HTTP requests and returns response details.
There are three usages of this function:
1. If called with a string parameter, sends a GET request to the given URI and returns the response
(async).
2. If called with no parameters, returns a requestObject to be passed to the function itself (async).
3. If called with requestObject parameter, sends a request which is defined by requestObject.
This function returns a response object which is explained at the latest example.
Parameters:
Name Type Attributes Description
uri string <optional> The target uri to send GET request.
requestObject object <optional> Object containing request details.
Examples
var response = await [Link]("[Link]
var requestObject = [Link]();
[Link] = "[Link]
[Link] = "POST";
[Link]("parameterKey", "parameterValue", 1); // 0 - GET (Quer
[Link]("headerName", "headerValue");
var response = await [Link](requestObject);
var response = [Link]("[Link]
[Link]; // the body of the response.
[Link]; // collection of response headers.
[Link]; // response time.
[Link]; // HTTP status code of the response.
[Link]; // Human readable description of the HTTP response code
[Link]; // The uri that HTTP request has sent.
setCurrentPersona(username, password, otp)
Sets the current credentials.
Parameters:
Name Type Description
username string The username.
password string The password.
otp string The OPT token.
Example
// Basic sample.
[Link]('[Link]', 'password', '123456');
setInputValue(el, value, delayopt)
Sets the value of specified el.
Parameters:
Name Type Attributes Description
el string | The element to click.
HTMLElement
value string The value to set.
delay number <optional> The number of milliseconds (thousandths of a second) that
this set value operation should be delayed by. Note that all
delays are timed from the beginning of the script execution
and does not work in sequence if you have several function
calls with delay.
Example
// Set value by id
[Link]('Username', '[Link]');
// Set value after 2 seconds
[Link]('Username', '[Link]', 2000);
// Set value by DOM element reference
[Link]([Link][0].elements[0], '[Link]');
setOtpField(query, value, isExactMatch)
Tries to find OTP field using the CSS query and sets its value.
Parameters:
Name Type Description
query string The CSS query that locates the element.
value string The value to set.
isExactMatch boolean The boolean value whether the CSS query is matches OTP field
exactly.
Example
// Set OTP Field
[Link]('#loginForm > div:nth-child(2) > input', '123456', true);
setOtpFieldAsync(query, value, isExactMatch)
Tries to find OTP field using the CSS query asynchronously and sets its value.
Parameters:
Name Type Description
query string The CSS query that locates the element.
value string The value to set.
isExactMatch number The number of milliseconds (thousandths of a second) that this set
value operation should be delayed by. Note that all delays are timed
from the beginning of the script execution and does not work in
sequence if you have several function calls with delay.
Example
// Set OTP Field
await [Link]('#loginForm > div:nth-child(2) > input', '1234
setValueByQuery(query, value, delayopt)
Finds input element using the CSS query and sets its value.
Parameters:
Name Type Attributes Description
query string The CSS query that locates the element.
value string The value to set.
delay number <optional> The number of milliseconds (thousandths of a second) that this
set value operation should be delayed by. Note that all delays are
timed from the beginning of the script execution and does not
work in sequence if you have several function calls with delay.
Example
// Query complex paths
[Link]('#loginForm > div:nth-child(2) > input', '[Link]');
// Query by id
[Link]('#Username', '[Link]');
// Set value after 2 seconds
[Link]('#Username', '[Link]', 2000);
setValueByQueryAsync(query, value, delayopt)
Finds input element using the CSS query asynchronously and sets its value with waiting query
selector.
Parameters:
Name Type Attributes Description
query string The CSS query that locates the element.
value string The value to set.
delay number <optional> The number of milliseconds (thousandths of a second) that this
set value operation should be delayed by. Note that all delays are
timed from the beginning of the script execution and does not
work in sequence if you have several function calls with delay.
Example
// Query complex paths
await [Link]('#loginForm > div:nth-child(2) > input', 'j
// Query by id
await [Link]('#Username', '[Link]');
// Set value after 2 seconds
await [Link]('#Username', '[Link]', 2000);
waitForSelector(query)
Waits until the dom element loaded then returns the element using the CSS query asynchronously.
Parameters:
Name Type Description
query string The CSS query that locates the element.
Example
// Query complex paths
await [Link]('#loginForm > div:nth-child(2) > input');
// Query by id
waitTimeoutAsync(delayopt)
Waits for the specified number of milliseconds.
Parameters:
Name Type Attributes Description
delay number <optional> The number of milliseconds (thousandths of a second) that this
set value operation should be delayed by.
Example
// Wait timeout
[Link](5000);