web
Provides methods for browser automation.
Notes:
Commands which operate on elements such as click, assert, waitFor, type, select, and others will automatically wait for a period of time for the element to appear in DOM and become visible. By default this period equals to 60 seconds, but can be changed using the setTimeout
command.
String matching patterns:
Commands which expect a string matching pattern in their arguments, support following patterns unless specified otherwise:
regex:PATTERN
- Match using regular expression.regexi:PATTERN
- Match using case-insensitive regular expression.exact:STRING
- Match the string verbatim.glob:PATTERN
- Match using case-insensitive glob pattern.?
will match any single character except new line (\n).*
will match any sequence (0 or more) of characters except new line. Empty PATTERN will match only other empty strings.PATTERN
- Same as glob matching.
Locators:
Commands which expect an element locator in their arguments, support following locator types unless specified otherwise:
id=ID
- Locates element by its ID attribute.css=CSS_SELECTOR
- Locates element using a CSS selector.link=TEXT
- Locates link element whose visible text matches the given string.link-contains=TEXT
- Locates link element whose visible text contains the given string.name=NAME
- Locates element by its NAME attribute.tag=NAME
- Locates element by its tag name./XPATH
- Locates element using an XPath 1.0 expression.(XPATH)[]
- Locates element using an XPath 1.0 expression.
alertAccept
Accepts an alert or a confirmation dialog.
In case of an alert box this command is identical to alertDismiss
.
** Usage example:**
alertDismiss
Dismisses an alert or a confirmation dialog.
In case of an alert box this command is identical to alertAccept
.
** Usage example:**
assertAlert
Asserts whether alert matches the specified pattern and dismisses it.
Text pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
assertExist
Asserts whether element exists in the DOM.
** Usage example:**
Parameters:
assertSelectedLabel
Asserts text of the currently selected option in a drop-down list.
Assertion pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
assertSelectedValue
Asserts value of the currently selected option in a drop-down list.
Assertion pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
assertText
Asserts element's inner text.
Text pattern can be any of the supported string matching patterns(on the top of page). If the element is not interactable, then it will allways return empty string as its text.
** Usage example:**
Parameters:
assertTextNotPresent
Asserts whether the given text is not present on the page. That is, whether there are no elements containing this text on the page.
** Usage example:**
Parameters:
assertTextPresent
Asserts whether the given text is present somewhere on the page. That is whether an element containing this text exists on the page.
** Usage example:**
Parameters:
assertTitle
Asserts the page title.
Assertion pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
assertValue
Asserts element's value.
Value pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
back
Navigate backwards in the browser history.
** Usage example:**
clear
Clear the value of an input field.
** Usage example:**
Parameters:
click
Clicks on an element.
If the click causes new page to load, the command waits for page to load before proceeding.
** Usage example:**
Parameters:
clickHidden
Clicks on a non-visible element.
If the click causes new page to load, the command waits for page to load before proceeding.
** Usage example:**
Parameters:
closeWindow
Closes the currently active window.
** Usage example:**
debug
Stop test execution and allow interactive command execution (REPL).
** Usage example:**
deleteCookies
Delete cookies visible to the current page.
Parameters:
deselect
Deselects an option from multiple-choice drop-down list.
Option locator can be one of the following (No prefix is same as label matching):
- label=STRING
Matches option based on the visible text.
- value=STRING
Matches option based on its value.
- index=STRING
Matches option based on its index. The index is 0-based.
** Usage example:**
Parameters:
dispose
Ends the current session.
Parameters:
doubleClick
Double clicks on an element.
** Usage example:**
Parameters:
dragAndDrop
Drag and Drop element into another element
** Usage example. Drops grey rectangle into red square.:**
Parameters:
execute
Executes JavaScript in the context of the currently selected frame or window.
If return value is null or there is no return value, null
is returned.
** Usage example:**
Parameters:
Returns:
Object
- The return value.
fileBrowse
Uploads a local file
** Usage example:**
Parameters:
findElement
Finds an element.
** Usage example:**
Parameters:
Returns:
Element
- A Element object.
findElements
Finds elements.
** Usage example:**
Parameters:
Returns:
Array.<Element>
- Collection of Element objects.
fullscreenWindow
Fullscreen Window.
** Usage example:**
getAlertText
Gets the text displayed by an alert or confirm dialog.
** Usage example:**
Returns:
String
- The alert's text.
getAttribute
Returns the element's attribute.
** Usage example:**
Parameters:
Returns:
String
- The attribute's value or null if no such attribute.
getBrowserLogs
Collects logs from the browser console. Works only in Chrome.
** Usage example:**
Returns:
Array.<Object>
- An array of browser console logs.
Supported On:
getCapabilities
Returns currently defined capabilities.
Returns:
Object
- Current capabilities object.
getCookies
Returns a specific cookie or a list of cookies visible to the current page.
Parameters:
Returns:
String
- The attribute's value.
getCssValue
Returns the value of a CSS property of an element.
** Usage example:**
Parameters:
Returns:
String
- CSS property value or null if no such property.
getDriver
Returns the underlying WDIO driver.
Returns:
Object
- WDIO driver.
getElementCount
Retrieves the count of elements matching the given locator.
** Usage example:**
Parameters:
Returns:
Number
- Element count or 0 if no elements were found.
getHTML
Gets source code of specified DOM element.
** Usage example:**
Parameters:
Returns:
String
- Source code of the element.
getSource
Gets the source of the currently active window.
** Usage example:**
Returns:
String
- The page source.
getText
Returns the text (rendered text shown to the user; whitespace-trimmed) of an element.
** Usage example:**
Parameters:
Returns:
String
- The element's text.
getTitle
Returns the title of the currently active window.
Returns:
String
- The page title.
getUrl
Gets the URL of the currently active window.
** Usage example:**
Returns:
String
- The page URL.
getValue
Returns the (whitespace-trimmed) value of an input field.
** Usage example:**
Parameters:
Returns:
String
- The value.
getWindowHandles
Gets handles of currently open windows.
** Usage example:**
Returns:
Array.<String>
- Array of all available window handles.
getWindowSize
Sets the size of the outer browser window.
** Usage example:**
Returns:
Object
- Size object. Example: { height: 1056, width: 1936, x: -8, y: -8 }
getXMLPageSource
Gets the source of the currently active window which displays text/xml
page.
** Usage example:**
Returns:
String
- The XML page source.
init
Initializes new Selenium session.
Parameters:
isAlertPresent
Return true if alert dialog is currently present on the screen.
** Usage example:**
Returns:
Boolean
- True if alert is present, false otherwise.
isChecked
deprecated Use isSelected instead. Determines if checkbox or radio element is checked.
** Usage example:**
Parameters:
Returns:
Boolean
- true if element is checked. false otherwise.
isExist
Checks if element is present in the DOM. Returns false if element was not found within the specified timeout.
** Usage example:**
Parameters:
Returns:
Boolean
- True if element was found. False otherwise.
isInteractable
Returns true if the selected element is interactable.
Element is considered interactable only if it exists, is visible, is within viewport (if not try scroll to it), its center is not overlapped with another element, and is not disabled.
** Usage example:**
Parameters:
Returns:
Boolean
- True if element is interactable. False otherwise.
isSelected
Determines whether an option
or input
element of type checkbox or radio is currently selected or not.
** Usage example:**
Parameters:
Returns:
Boolean
- true if element is selected. false otherwise.
isVisible
Checks if element is present and visible. Returns false if element was not found or wasn't visible within the specified timeout.
** Usage example:**
Parameters:
Returns:
Boolean
- True if element was found and it was visible. False otherwise.
makeVisible
Makes hidden element visible.
This a workaround command for situations which require manipulation of hiddenelements, such as when using web.type
command for file input fields which tend to be hidden.
Specifically makeVisible
will apply following styles to the specified element and all theparent elements:
visibility = 'visible' if set to 'hidden'
opacity = 1 if set to 0
display = 'block' if set to 'none'
width/height = 1px if set to 0.
** Usage example:**
Parameters:
maximizeWindow
Maximize Window.
** Usage example:**
minimizeWindow
Minimize Window.
** Usage example:**
mock
Allows to mock the response of a request.
Note: This method can be used in Chromium based browser only.
Parameters:
Returns:
Mock
- a mock object to modify the response
mockClearAll
Resets all mocks information stored in the session.
Note: This method can be used in Chromium based browser only.
mockRestoreAll
Restores all mock information and behavior stored in the session.
Note: This method can be used in Chromium based browser only.
newWindow
Opens new tab.
The newWindow
command waits for the page to load before proceeding.
** Usage example:**
Parameters:
open
Opens an URL.
The open
command waits for the page to load before proceeding.
** Usage example:**
Parameters:
pause
Pause test execution for the given amount of milliseconds.
** Usage example:**
Parameters:
point
Points the mouse cursor over the specified element.
** Usage example:**
Parameters:
pointJS
Points the mouse cursor over the specified element.
This method is similar to web.point
, however it simulates the action using JavaScript instead of using WebDriver's functionality which doesn't work in all cases.
Parameters:
refresh
Causes the browser to reload the page.
** Usage example:**
rightClick
Perform right click on an element.
** Usage example:**
Parameters:
rightClickActions
Perform right click on an element.
** Usage example:**
Parameters:
scrollToElement
Scrolls the page or a container element to the location of the specified element.
** Usage example:**
Parameters:
select
Selects an option from a drop-down list using an option locator. This command works with multiple-choice lists as well.
Option locator can be one of the following (No prefix is same as label matching):
- label=STRING
- Matches option based on the visible text.
- value=STRING
- Matches option based on its value.
- index=STRING
- Matches option based on its index. The index is 0-based.
** Usage example:**
Parameters:
selectFrame
Selects a frame or an iframe within the current window.
Available frame locators:
- 'parent'
- Select parent frame.
- 'top'
- Select top window.
- NUMBER
- Select frame by its 0-based index.
- LOCATOR
- Locator identifying the frame (relative to the top window). Multiple locators can be passed in order to switch between nested frames.
** Usage example:**
Parameters:
selectWindow
Selects window. Once window has been selected, all commands go to that window.
windowLocator
can be:
title=TITLE
Switch to the first window which matches the specified title.TITLE
can be any ofthe supported string matching patterns (see top of the page). When using title locator, this commandwill wait for the window to appear first similarly towaitForWindow
command.url=URL
Switch to the first window which matches the specified URL.URL
can be any ofthe supported string matching patterns (see top of the page). When using url locator, this commandwill wait for the window to appear first similarly towaitForWindow
command.windowHandle
Switch to a window using its unique handle.
** Usage example:**
Parameters:
Returns:
String
- windowHandle of the previously selected window.
sendKeys
Send a sequence of keyboard strokes to the active window or element.
Refer to Key Codes for the list of supported raw keyboard key codes.
** Usage example:**
Parameters:
setAutoWaitForAngular
Wait for Angular based app will be loaded
** Usage example:**
Parameters:
setTimeout
Specifies the amount of time that Oxygen will wait for actions to complete.
This includes the open
command, waitFor*
commands, and commands which wait for elements to appear in DOM or become visible before operating on them.
If command wasn't able to complete within the specified period it will fail the test.
The default time-out is 60 seconds.
** Usage example:**
Parameters:
setWindowSize
Sets the size of the outer browser window.
** Usage example:**
Parameters:
takeScreenshot
Take a screenshot of the current page or screen and return it as base64 encoded string.
** Usage example:**
Returns:
String
- Screenshot image encoded as a base64 string.
transaction
Opens new transaction.
The transaction will persist till a new one is opened. Transaction names must be unique.
Parameters:
type
Send a sequence of key strokes to an element (clears value before).
Refer to Key Codes for the list of supported raw keyboard key codes.
** Usage example:**
Parameters:
verifyAlert
Verifies whether alert matches the specified pattern and dismisses it.
Text pattern can be any of the supported string matching patterns (on the top of page). If alert is not present then NO_ALERT_OPEN_ERROR error will be thrown and the test terminated.
** Usage example:**
Parameters:
verifyExist
Verifies whether element exists in the DOM.
** Usage example:**
Parameters:
verifySelectedLabel
Verifies text of the currently selected option in a drop-down list.
Assertion pattern can be any of the supported string matching patterns (on the top of page).If element is not present then ELEMENT_NOT_FOUND error will be thrown and the test terminated.
** Usage example:**
Parameters:
verifySelectedValue
Verifies value of the currently selected option in a drop-down list.
Assertion pattern can be any of the supported string matching patterns (on the top of page).If element is not present then ELEMENT_NOT_FOUND error will be thrown and the test terminated.
** Usage example:**
Parameters:
verifyText
Verifies element's inner text.
Text pattern can be any of the supported string matching patterns (on the top of page). If the element is not interactable, then it will allways return empty string as its text. If element is not present then ELEMENT_NOT_FOUND error will be thrown and the test terminated.
** Usage example:**
Parameters:
verifyTextNotPresent
Verifies whether the given text is not present on the page. That is, whether there are no elements containing this text on the page.
** Usage example:**
Parameters:
verifyTextPresent
Verifies whether the given text is present somewhere on the page. That is whether an element containing this text exists on the page.
** Usage example:**
Parameters:
verifyTitle
Verifies the page title.
Assertion pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
verifyValue
Verifies element's value.
Value pattern can be any of the supported string matching patterns (on the top of page).If element is not present then ELEMENT_NOT_FOUND error will be thrown and the test terminated.
** Usage example:**
Parameters:
waitForAngular
Wait for Angular based app will be loaded
** Usage example:**
Parameters:
waitForExist
Waits for element to become available in the DOM.
** Usage example:**
Parameters:
waitForInteractable
Waits for element to become interactable.
** Usage example:**
Parameters:
waitForNotExist
Waits for element to become unavailable in the DOM.
** Usage example:**
Parameters:
waitForNotText
Waits for inner text of the given element to stop matching the specified pattern.
Text pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
waitForNotValue
Waits for input element's value to stop matching the specified pattern.
Value pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
waitForText
Waits for inner text of the given element to match the specified pattern.
Text pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
waitForValue
Waits for input element's value to match the specified pattern.
Value pattern can be any of the supported string matching patterns(on the top of page).
** Usage example:**
Parameters:
waitForVisible
Waits for element to become visible.
** Usage example:**
Parameters:
waitForWindow
Waits for a window to appear, but doesn't actually switches to it.
windowLocator
can be:
title=TITLE
Wait for the first window which matches the specified title.TITLE
can be any of the supported string matching patterns(see top of the page).url=URL
Wait for the first window which matches the specified URL.URL
can be any of the supported string matching patterns(see top of the page).
** Usage example:**
Parameters:
Last updated