The SDET Playbook
Curated questions and answers for SDETs and QA engineers
Member since September 2026
- articles
- 0
- questions
- 80
- answers
- 80
- accepted answers
- 0
- resources
- 0
- votes received
- 0
Answer to
REST Assured vs Postman vs Playwright API testing: which is best for API automation?
Let your language and team decide. REST Assured is the mature choice for Java and Kotlin teams that want API tests inside JUnit or TestNG and the same Maven or...
Sep 28, 20260Accepted
Answer to
How do I automate file uploads, downloads, pop-ups and CAPTCHA in web tests?
Uploads and JavaScript dialogs are supported directly by both tools. For downloads, Selenium's docs say the API does not expose download progress, so find the l...
Sep 28, 20260Accepted
Answer to
How do I do reliable visual regression testing without constant false positives?
Control everything that changes between runs. Playwright's toHaveScreenshot retries until the page stabilizes and supports masking dynamic regions, disabling an...
Sep 28, 20260Accepted
Answer to
How do I handle login and authentication efficiently across hundreds of UI tests?
Log in once and reuse the saved browser state. Playwright's recommended approach is a setup project that authenticates, saves the storage state to a file, and l...
Sep 28, 20260Accepted
Answer to
How do I run Playwright or Selenium tests in parallel without shared-state collisions?
Parallel runs fail on shared state, not on the tool. Playwright runs test files in parallel by default, keeps tests in one file in order unless you configure pa...
Sep 28, 20260Accepted
Answer to
How do I handle iframes, shadow DOM and multiple tabs in UI tests?
In Playwright, use frameLocator to enter an iframe and locate elements inside it; frame locators are strict, so they throw if several frames match. Playwright's...
Sep 28, 20260Accepted
Answer to
What is the best locator strategy: CSS, XPath, test IDs or role-based selectors?
Prioritize what users see and explicit contracts over DOM structure. Playwright recommends role-based locators (for example a button by its accessible name) and...
Sep 28, 20260Accepted
Answer to
What is the difference between implicit, explicit and fluent waits, and which should I use?
An implicit wait is a global timeout applied to every element lookup, and its default is zero. An explicit wait polls for one specific condition in one specific...
Sep 28, 20260Accepted
Answer to
Why does Selenium throw "element not interactable" or "element not clickable" even though I can see it?
The W3C WebDriver standard raises "element not interactable" when an element is not pointer- or keyboard-interactable, for example because it is hidden, has no...
Sep 28, 20260Accepted
Answer to
Implement debounce and throttle in TypeScript, and test them with fake timers
Debounce waits until calls stop for a given delay, then runs once with the last arguments (a search box waiting for the user to stop typing). Throttle runs at m...
Sep 28, 20260Accepted