Skip to content

Testing API ​

Documenté comes with pre-defined actions and assertions that cover most of the common use cases.

Built-in actions ​

visit ​

Triggers a navigation to the given URL.

Patterns ​

  • visit

Examples ​

When I visit "https://example.com"
then title should have text "Example Domain"

click ​

Triggers a click event on the given element.

Patterns ​

  • click <selector>
  • click on <selector>

Examples ​

When I click confirm button
When I click on confirm button

double click ​

Triggers a dblclick event on the given element.

Patterns ​

  • double click <selector>
  • double click on <selector>
  • double-click <selector>
  • double-click on <selector>
  • doubleclick <selector>
  • doubleclick on <selector>

Examples ​

When I double click confirm button
When I double click on confirm button
When I double-click confirm button
When I double-click on confirm button
When I doubleclick confirm button
When I doubleclick on confirm button

right click ​

Triggers a contextmenu event on the given element.

Patterns ​

  • right click <selector>
  • right click on <selector>
  • right-click <selector>
  • right-click on <selector>
  • rightclick <selector>
  • rightclick on <selector>

Examples ​

When I right click confirm button
When I right click on confirm button
When I right-click confirm button
When I right-click on confirm button
When I rightclick confirm button
When I rightclick on confirm button

hover ​

Triggers mouseenter and mouseover events on the given element.

Patterns ​

  • hover <selector>
  • hover on <selector>

Examples ​

When I hover confirm button
When I hover on confirm button

type ​

Types the given text into the given element.

The target element must accept text input, e.g. <input>, <textarea> or [contenteditable].

Patterns ​

  • type <text> on <selector>
  • type <text> into <selector>
  • type <text> in <selector>

Examples ​

When I type "Hello World" on input field
When I type "Hello World" into input field
When I type "Hello World" in input field

clear ​

Clears the given element.

The target element must accept text input, e.g. <input>, <textarea> or [contenteditable].

Patterns ​

  • clear <selector>

Examples ​

When I clear input field

check ​

Checks the given checkbox.

Patterns ​

  • check <selector>

Examples ​

When I check "I agree" checkbox

uncheck ​

Unchecks the given checkbox.

Patterns ​

  • uncheck <selector>

Examples ​

When I uncheck "I agree" checkbox

select ​

Selects the given option from the given select element.

Patterns ​

  • select <option> in <selector>
  • select <option> from <selector>

Examples ​

When I select "Option 1" in select field
When I select "Option 1" from select field

scroll ​

Scrolls the given element into view.

Patterns ​

  • scroll to <selector>
  • scroll <selector> into view

Examples ​

When I scroll to confirm button
When I scroll confirm button into view

go back ​

Navigates back in history.

Patterns ​

  • go back

Examples ​

When I go back

go forward ​

Navigates forward in history.

Patterns ​

  • go forward

Examples ​

When I go forward

Built-in assertions ​

exist ​

Asserts that the given element exists.

Patterns ​

  • exist

Examples ​

Then confirm button should exist

not exist ​

Asserts that the given element does not exist.

Patterns ​

  • not exist

Examples ​

Then confirm button should not exist

have occurrence(s) ​

Asserts that the given selector has a given number of occurrences.

For example, if the selector matches 3 elements, then the following assertion is valid:

it should have 3 occurrences

Patterns ​

  • have <number> occurrences
  • have <number> occurrence
  • have <number> occurrence(s)

Examples ​

Then confirm button should have 1 occurrence
Then confirm button should have 2 occurrences
Then confirm button should have 3 occurrence(s)

be visible ​

Asserts that the given element is visible.

Patterns ​

  • be visible

Examples ​

Then confirm button should be visible

be hidden ​

Asserts that the given element is hidden.

Patterns ​

  • be hidden

Examples ​

Then confirm button should be hidden

have text ​

Asserts that the given element has the given text.

Patterns ​

  • have text <text>

Examples ​

Then title should have text "Example Domain"

contain text ​

Asserts that the given element contains the given text.

Patterns ​

  • contain text <text>

Examples ​

Then title should contain text "Example"

have value ​

Asserts that the given element has the given value.

The target element should have a value attribute, e.g. <input> or <textarea>.

Patterns ​

  • have value <value>

Examples ​

Then input field should have value "Hello World"

have class ​

Asserts that the given element has the given CSS class.

Patterns ​

  • have class <class>

Examples ​

Then confirm button should have class "btn"

be checked ​

Asserts that the given checkbox is checked.

Patterns ​

  • be checked

Examples ​

Then "I agree" checkbox should be checked

be unchecked ​

Asserts that the given checkbox is unchecked.

Patterns ​

  • be unchecked

Examples ​

Then "I agree" checkbox should be unchecked

be enabled ​

Asserts that the given element is enabled.

The target element could be an <input>, <textarea> or <button>.

Patterns ​

  • be enabled

Examples ​

Then confirm button should be enabled

be disabled ​

Asserts that the given element is disabled.

The target element could be an <input>, <textarea> or <button>.

Patterns ​

  • be disabled

Examples ​

Then confirm button should be disabled