QA PRACTICE•DYNAMIC

Locator Practice HubTopics / Dynamic elements

Lesson 10 / 20 · Intermediate

Dynamic elements

Handle changing IDs, loading states, and rerenders.

14 min

Not completed

Concept

Dinamik ID/class, skeleton’dan içeriğe geçiş, toast, A/B varyantı, pagination ve virtualized list’ler timing ve stale element sorunları üretir. Re-render sonrası eski handle geçersiz olabilir; locator’ı yeniden çözümle.

Prerequisites: Strict mode and actionability

Live demo

Try the locator

Scoped to lesson demo
User loaded
Saved

Try the locator against the live demo.

Good

Stable prefix, role/state ve görünür sonuç assertion’ı kullan.

Avoid

Her render’da değişen tam ID veya bekleme için sabit sleep kullanma.

Why

Test gerçek kullanıcı gözlemini bekler; rastgele timeout’a değil.

Real-world trap

Virtualized list’te görünmeyen satır DOM’da bulunmayabilir.

Framework comparison

Playwright

page.locator("[data-testid='dynamic-demo'] [data-testid='user-row']")

Selenium

driver.findElement(By.cssSelector("[data-testid='dynamic-demo'] [data-testid='user-row']"))

Cypress

cy.get("[data-testid='dynamic-demo'] [data-testid='user-row']")

Mini quiz

Re-render sonrası en güvenli yaklaşım nedir?