Dynamic Content
Elements that change over time or across page loads — useful for testing explicit waits, polling and selector resilience.
Delayed Content
Clicking load shows a spinner for ~2 seconds before content appears.
Your automation should wait for #delayed-content rather than sleeping blindly.
Auto-Appearing Element
This element appears on its own, 3 seconds after the page loads, with no user interaction required.
Live Counter
Increments every second — good for testing polling / value-change waits.
Unstable Identifiers
This button's id and CSS class regenerate every time you
click "Regenerate" (and on every page load). Its data-testid stays constant
— a good example of why stable test attributes matter more than ids/classes.
Simulated Network Call
Fetches a small local JSON fixture and renders it after a short artificial delay — useful for testing waits on network-backed UI updates.
Element Replacement (Stale Reference)
Clicking the button destroys and rebuilds the box below with a new DOM node. A cached element reference from before the click becomes stale.