Element State
ZWL provides several easy to use functions to get element's current state (such as checked, visibility, attributes).
#
Checking whether element is selectedWorks for html elements that keep a selected state such as checkbox
, radio
.
isSelected = isElementSelected(elemId) # Tells whether the given element is selected
anySelected = anyElementSelected([elemId, elemId...])# Tells whether any of the given element is selected. Useful for testing elements that# allows only one of the element to be selected from a group such as `radio` group. It takes# list of elements which can be retrieved using `findElements`.
allSelected = allElementsSelected([elemId, elemId...])# Tells whether all the given elements are selected. Useful for testing group of elements that# all need to be selected.
#
Get element attributesGets any attribute of an element such as title
, role
, aria-label
, alt
.
attributeValue = getElementAttribute(elemId, attributeName)# Gets value of the attributeName for the given element.
#
Get element textGets the visible text of an element.
text = getElementText(elemId) # get element's visible text
info
To get the visible text of elements that stores it in value
attribute, use function getElementValue(elemId)
. Some of such elements are input[type='text']
, hidden
, input[type='button']
.
#
Get element coordinates and dimensionsGet element's x, y coordinates relative to viewport and dimensions:
getElementRect(elemId)# returns a value similar to {x: 800, y: 2000, width: 600, height: 200}
Scroll element to viewport (if it's not in viewport) and get it's coordinates only:
getElementViewportCoordinates(elemId)# returns a value similar to {x: 400, y: 600}
#
Checking whether element is staleSometimes when you're not sure whether an element is stale, use isStale
to make sure so that the test doesn't throw an error.
if (!isStale(elemId)) { // do stuff}
#
Checking element existsTo check whether an element is no more on the page, we can use noWait
parameter of findElements
and check that the returned list
is empty. A shortcut to that is elementExists
. This function doesn't wait if no element is found and returns a boolean
indicating the result.
isExists = elementExists(using, by)
# Or
isExists = elementExists(fromElement, using, by)
#
Capturing element screenshotYou can capture screenshot of a specific element (for example to see how it looked on page). Once the build completes, you can see the screenshot from build details.
captureElementScreenshot(elemId, fileName)# An example fileName could be 'small-select.png'
See Api Reference for all available functions.