For example, consider the following DOM structure. not empty, no, wait for it to stop moving, for example, until css transition finishes, wait for it to receive pointer events at the action point, for example, waits until element becomes non-obscured by other elements, retry if the element is detached during any of the above checks, You can alternatively specify a single character you'd like to produce such as. Defaults to 0. Note that the inner locator is matched starting from the outer one, not from the document root. You can even specify the optional delay between the key presses to simulate real user behavior. If the element is detached from DOM, the method throws an error. We can use the product locator again to get by role of button and click it and then use an assertion to make sure there is only one product with the text "Product 2". Focuses the element, and then uses keyboard.down() and keyboard.up(). Ensure that element is a checkbox or a radio input. You can then pass this array to Promise.all for simultaneous processing. The functionality might change in future. However the testing community seems to be loving it, thus I gave it another shot. These data-* attributes are supported by the css and id selectors. What's odd is that clicking on other buttons on the same toolbar with essentially the same code works successfully. It works for ,