testx-standard-objects

Standard objects for TestX

Usage no npm install needed!

<script type="module">
  import testxStandardObjects from 'https://cdn.skypack.dev/testx-standard-objects';
</script>

README

TestX Standard objects

This package contains standard objects for testx.

Installation

Install the package with:

npm install testx-standard-objects --save

Add to your tests like any other testx node module. In your config file, as part of the onPrepare function:

testx.objects.add require 'testx-standard-objects'

Usage

Use these as any other (functional) object reference:

- go to:
    url: /
- set:
    linkText('Login'): ''
    name('username'): testuser
    name('password'): verysecret
    buttonText('Login'): ''

Available objects

This package exposes almost all non-angular protractor (web driver++) element locators. It also adds some custom ones.

Object reference Description
css Locates elements using a CSS selector.
xpath Locates elements matching a XPath selector.
id Locates an element by its ID.
name Locates elements whose name attribute has the given value.
linkText Locates link elements whose visible text matches the given string.
partialLinkText Locates link elements whose visible text contains the given substring.
className Locates elements that have a specific class name.
tagName Locates elements with a given tag name.
buttonText Find a button by text.
partialButtonText Find a button by partial text.
cssContainingText Find elements by CSS which contain a certain string.
labeled Find elements by the text of their label. The label for attribute has to be the same as the element id, in other words, that's the label for this element, say input box. This object is implemented via custom locator, that is also named labeled. You can use this custom locator in your object map just like any other locator.

NOTE: All of the above are also available as locators in your normal object map implementation. Use the standard objects sparingly to avoid ending up with fragile set of tests.