UI Test Automation

Quality is not an act, it is a habit.


Different automation pitfalls appearing in modern web applications are described and emulated below.

Responsive image

Rubik's Cube is licensed under CC 4.0 BY-NC

Dynamic ID

Make sure you are not recording dynamic IDs of elements

Class Attribute

Check that class attribute based XPath is well formed

Hidden Layers

Verify that your test does not interact with elements invisible because of z-order

Load Delay

Ensure that a test is capable of waiting for a page to load


Some elements may appear on a page after loading data with AJAX request

Client Side Delay

Some elements may appear after client-side time consuming JavaScript calculations


Event based click on an element may not always work

Text Input

Entering text into an edit field may not have effect


Scrolling an element into view may be a tricky task

Dynamic Table

Verify cell value in a dynamic table

Verify Text

Finding an element by displayed text has nuances

Progress Bar

Follow the progress of a lengthy process and continue upon completion


Check if element is visible on screen

Sample App

Demo application with dynamically generated element attributes

Mouse Over

Placing mouse over an element may change DOM and make the element unavailable

Non-Breaking Space

Non-breaking space looks like a normal one on screen. It may lead to confusion when building XPath

Overlapped Element

Make element visible to enter text

Shadow DOM

Look inside Shadow DOM component


Accept alerts, confirmations and prompts