document, navigation, and window Objects
The document
and navigation
objects can be used as an element in a compose statement.
document object
The document
object exposes methods to interact with the DOM, such as waiting until its state is ready or checking the URL. It also exposes methods for frames.
Reference the document
object inside a compose statement in JSON using this syntax:
{
"element": "document",
"apply": "getUrl"
}
Here are the supported methods for the document
object. The return value is asynchronous. For example, in JavaScript, a Promise is returned.
Method | Description | Returns | Example |
---|---|---|---|
waitFor<T> | Waits for specified criteria to be satisfied. | <T> | beforeLoad |
waitForDocumentReady() | Waits for the document to be ready for JavaScript code to execute. | boolean | beforeLoad |
containsElement(locator: Locator) | Checks whether the document contains an element with a matching selector. | boolean | Explicit Waits |
getUrl() | Gets the URL of the document. | string | |
enterFrame | enters a frame or iframe element | frame | |
enterFrameAndLoad | enters a frame or iframe element and then loads a Page Object that is a new root | frame , pageObject | |
exitFrame | exits focus from a current frame or iframe | ||
exitToParentFrame | exits focus from a frame or iframe to the immediate parent frame |
navigation object
The navigation
object exposes methods for browser navigation, such as back and forward, as well as methods
for managing multiple browser windows or tabs.
Reference the navigation
object inside a compose statement in JSON using this syntax:
{
"element": "navigation",
"apply": "back"
}
Here are the supported methods for the navigation
object.
Method | Description | Returns |
---|---|---|
back | Browser navigates backward | void |
forward | Browser navigates forward | void |
switchToWindow(url) | Switches to the window navigated to the specified URL | window |
closeWindow(url) | Closes the window navigated to the specified URL; if no URL is specified, closes the current window | void |
closeWindow() | Closes the current window | void |
getWindowCount | Gets the number of currently opened managed windows | integer |
currentWindow | Gets the window with the current command context | window |
setupWaitForNewWindow | Sets up a wait for a new window to appear after taking a subsequent action | void |
waitForNewWindow | Waits for a new window to be opened and switches the command context to the new window; if called without a prior call to setupWaitForNewWindow , an exception is thrown | window |
waitForNewWindowAndLoad | Waits for a new window to be opened, switches to it, and loads a Page Object that is a new root | pageObject |
switchToWindowAndLoad(url) | Switches to the window navigated to the specified URL and loads a Page Object that is a new root | pageObject |
window object
The window
object exposes methods for manipulating a single browser window or tab.
NOTE Cannot be used in compose yet, coming soon.
Here are the methods for the window
object.
Method | Description | Returns |
---|---|---|
getRect | Gets the rectangle of the window | rect |
setRect(rect) | Sets the rectangle of the window | void |
close | Closes the window | void |
getDocument | Gets the document object associated with this window | document |