GUI automation

The GUI automation API consists of a set of JavaScript functions which enables programmatic access to some features normally controlled by a user in the GUI. These functions are grouped in a global window.Exivity object.


Control the current user session.


function(string username, string password): void Attempts to login given the username and password.


function(): void Logs out the current user, and cleans up local storage used by the current session.


function(string token): void Attempts to use the given token to login (always refreshes the given token).


function(string root): void Set the domain (e.g. for the Exivity API.

Navigate the GUI.


function(): void Navigate to the root URL of the Exivity instance, which is the Dashboard if a user is currently logged in, or the login page otherwise.


function(string path): void Navigates to the given URL fragment.


Control the report filters and more.


function(int id): void Select a report definition.


function(int depth): void Select a reporting depth.


function(string start): void Select the reporting start date, in YYYYMMDD format.


function(string end): void Select the reporting end date, in YYYYMMDD format.


function(int id): void Filter the report by showing only this account.


function(bool show = true): void On the summary report, show only the single account set with filterAccount.


function(bool show = true): void Show all summaries if on the /reports/summary page.


function(bool show = true): void Show consolidated summary on the /reports/summary page.


function(bool show = true): void Show accounts on the summary report.


function(bool show = true): void Show services on the summary report.


function(bool show = true): void Show instances on the summary report.


function(string key): void Group the instances on the summary report by this key. The key argument should be one of: instances, services.


Functions returning a Promise to make it easier to determine the state of the GUI.


function(int|float ms): Promise Wait for ms and then resolve the returned promise.


function(int waitBefore = 100, int waitAfter = 100, int timeout = 60000): Promise Wait for the network stack to become idle, optionally specifying:

  • A timeout before starting to detect network traffic

  • A timeout after detecting that the network became idle

  • A timeout after which the promise will reject. Set to 0 to disable.


function(): Promise Wait for data synchronization to complete.

Last updated