Automation Exercise

Test Playground

Quality is not an act, it is a habit.

Aristotle


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

01. Dynamic ID

Make sure you are not recording dynamic IDs of elements

02. Class Attribute

Check that class attribute based XPath is well formed

03. Hidden Layers

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

04. Load Delay

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

05. AJAX Data

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

06. Client Side Delay

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

07. Click

Event based click on an element may not always work

08. Text Input

Entering text into an edit field may not have effect

09. Scrollbars

Scrolling an element into view may be a tricky task

10. Dynamic Table

Verify cell value in a dynamic table

11. Verify Text

Finding an element by displayed text has nuances

12. Progress Bar

Follow the progress of a lengthy process and continue upon completion

13. Visibility

Check if element is visible on screen

14. Sample App

Demo application with dynamically generated element attributes

15. Mouse Over

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

16. Non-Breaking Space

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

17. Overlapped Element

Make element visible to enter text

18. Shadow DOM

Look inside Shadow DOM component

19. Alerts

Accept alerts, confirmations and prompts

20. File Upload

Upload files

21. Animated Button

Wait for animation to stop before clicking a button

22. Disabled Input

Wait for edit field to become enabled

23. Auto Wait

Wait for an element to become interactable