SDET Interview Complete Bundle

Every TWJ interview playbook and revision note, for Playwright TypeScript, Playwright JavaScript and Selenium Python.

All five paid playbooks and notes: Playwright TypeScript, Playwright JavaScript and Selenium Python. Rs 1,895 if bought separately.

  • 5 PDFs
  • Playwright and Selenium
  1. Buy
  2. Instant download
  3. Prepare part by part

One interview, three rounds

Most SDET interview loops test you in this order:

  • Concept questions on the tool and the language.
  • A live coding round.
  • Scenario and framework questions, often on more than one tool.

With this bundle you cover

  • 40 Playwright TypeScript coding round programs.
  • 48 Playwright JavaScript interview questions with code.
  • 49 Selenium Python interview questions with code.
  • Last-Minute Notes for Playwright TypeScript and JavaScript.

Look inside

The first 3 pages of 46, exactly as you get them. Swipe, then tap a page to enlarge it.

  • Preview page 4 of 46, locked
  • Preview page 5 of 46, locked
  • Preview page 6 of 46, locked

Buy to unlock all 46 pages

Full table of contents

Every part of every PDF in this bundle, exactly as they appear in the PDFs. Tap a part to see what it covers.

Playwright TypeScript Last-Minute Notes12 parts, 48 questions

Part 1. Playwright Basics and Architecture4 questions
  1. Your company runs Selenium. Why are teams like yours moving to Playwright?
  2. One test must show an admin and a customer working at the same time. How do Browser, BrowserContext and Page make that possible?
  3. Which browsers does Playwright support, and what is the difference between bundled Chromium and the Chrome channel?
  4. How do you set up a Playwright TypeScript project from scratch?
Part 2. TypeScript for Testers5 questions
  1. Why use TypeScript instead of JavaScript for Playwright tests?
  2. What are interfaces and types, and where do you use them in a test framework?
  3. A test sometimes fails with "Target closed" and sometimes passes. You suspect a missing await. Explain what is going on.
  4. What are generics, and how do they help in a test framework?
  5. How do you manage environment config and secrets in a Playwright TypeScript framework?
Part 3. Locators5 questions
  1. Your element handle throws errors after the page re-renders. Why do Playwright locators not have this problem?
  2. Which locator strategy do you recommend, and in what order?
  3. How do you work with lists and tables using filter, nth and chaining?
  4. A card payment form sits inside an iframe and a cookie banner lives in shadow DOM. How do you automate both?
  5. How do you generate and debug locators quickly?
Part 4. Auto-waiting and Assertions5 questions
  1. What is auto-waiting, and what does Playwright check before it performs an action?
  2. What are web-first assertions, and why are they better than reading a value and checking it?
  3. Explain soft assertions, expect.poll and toPass.
  4. What are the different timeouts in Playwright, and what are their defaults?
  5. How do you do visual testing with toHaveScreenshot?
Part 5. Test Runner, Config and Projects4 questions
  1. Walk me through the important settings in playwright.config.ts.
  2. You must run one suite on Chrome, Safari and a phone viewport, after a login step. How do projects handle this?
  3. How do you organise and filter tests with describe, tags and annotations?
  4. How do you run tests in order when a flow truly needs it?
Part 6. Fixtures and Hooks3 questions
  1. Every spec file starts with the same 20 lines of setup. How do Playwright fixtures fix this?
  2. What is the difference between test-scoped and worker-scoped fixtures? What is an auto fixture?
  3. When do you use beforeAll and beforeEach hooks instead of fixtures?
Part 7. Page Object Model and Framework Design3 questions
  1. The same login locators are copied into 30 test files. How would you refactor this with the Page Object Model?
  2. How would you design a scalable Playwright framework? Walk me through the folder structure.
  3. Two parallel tests keep editing the same student account and fail at random. How should test data be managed?
Part 8. Network Mocking and API Testing5 questions
  1. How do you mock or change network responses with page.route?
  2. After clicking Place order, you need the order id from the API response. How do you capture it reliably?
  3. Can Playwright test a REST API without opening a browser? Show how.
  4. You want to create an order quickly through the API, then check it on screen. How do you mix API and UI in one test?
  5. What is HAR recording and replay, and when would you use it?
Part 9. Authentication and Sessions3 questions
  1. Every test spends 6 seconds on the login screen. How do you remove that cost?
  2. How do you test an app with several user roles?
  3. How do you handle OTP, 2FA and captcha in automated tests?
Part 10. Debugging and Flaky Tests4 questions
  1. A test failed in last night's run. Which tools do you open, and in what order?
  2. What is the Trace Viewer, and what does it show?
  3. Your checkout test is green on your laptop and red in CI every third run. Walk me through your investigation.
  4. Your suite has 15 tests that fail at random. Which causes do you look for, and how do you fix each one?
Part 11. Parallel Runs, CI/CD and Docker4 questions
  1. You set workers to 4. What actually runs in parallel, and what must your tests do to stay safe?
  2. Your suite takes 40 minutes on one machine. How do you split it across 4 CI machines and still get one report?
  3. Your team wants every pull request tested automatically. What does a Playwright pipeline look like?
  4. Screenshots differ between your laptop and CI because fonts render differently. How does running Playwright in Docker fix this?
Part 12. Playwright with AI3 questions
  1. Your manager asks how an AI assistant could explore the app and draft tests. Explain Playwright MCP.
  2. How would you use AI in your testing work without lowering quality?
  3. What are Playwright test agents (planner, generator, healer)?

Playwright TypeScript Coding Round Playbook9 parts, 40 programs

Part 1. String Programs6 programs
  1. Your interviewer bans .reverse(). Write a function that reverses a string with a plain loop.
  2. A form field must accept palindromes like "A man, a plan, a canal: Panama". Write the check that ignores case, spaces and punctuation.
  3. Build a character frequency report for a test string, skipping spaces.
  4. A log line has repeated characters. Write a function that returns the first character that appears only once.
  5. Two labels must use exactly the same letters in a different order. Write a function that confirms it.
  6. A page title must be shown in Title Case. Write a function that converts a messy sentence, even with double spaces.
Part 2. Array Programs5 programs
  1. An API returned some order ids more than once. Write a function that lists every id that repeats.
  2. Find the second highest score in a list in a single pass, without sorting it.
  3. A test matrix lists the same browser twice, and a student list has repeated ids. Remove the repeats but keep the first-seen order.
  4. Test run ids should go from 1 to n with no gaps, but one is missing. Write a function that finds it.
  5. Given a list of prices and a coupon value, return the positions of the two prices that add up to it, in one pass.
Part 3. Objects and Maps4 programs
  1. Write a program to group an array of objects by a property.
  2. Write a program to find the most frequent words in a paragraph.
  3. Write a program to check if two objects are deeply equal.
  4. Write a program to flatten a nested object into dot-separated keys.
Part 4. Logic and Math4 programs
  1. Write a program to print FizzBuzz from 1 to 15.
  2. Write a program to print the first n numbers of the Fibonacci series.
  3. Write a program to print all prime numbers up to n.
  4. Write a program to reverse a number and find the sum of its digits.
Part 5. Async and Promises4 programs
  1. Write a program that runs async tasks one after another, then all in parallel, and compare the time.
  2. Write a function that fails if a Promise takes longer than a given time.
  3. Write a program that checks several URLs and reports which passed and which failed, without stopping at the first failure.
  4. Write a program that runs many async tasks but only N at a time.
Part 6. Playwright UI Programs6 programs
  1. Write a Playwright program to collect all links on a page and find the broken ones.
  2. Write a Playwright program to verify a table column is sorted after clicking its header.
  3. Write a Playwright program to count products on a page and calculate the total price.
  4. Write a Playwright program to handle a link that opens in a new tab.
  5. Write a Playwright program to read all dropdown options and select one.
  6. Write a Playwright program to scroll an infinite list until all items are loaded.
Part 7. Playwright API Programs4 programs
  1. Write a Playwright program that creates, reads, updates and deletes a record through the API.
  2. Write a Playwright program to compare data shown in the UI with the data from the API.
  3. Write a Playwright program to check the structure and types of an API response.
  4. Write a Playwright program to log in through the API once and reuse the token in later calls.
Part 8. Utility Programs for Frameworks4 programs
  1. Write a retry helper that retries an async function with a growing delay.
  2. Write a program to generate unique random test data (email, phone, name).
  3. Write date helper functions: format a date as DD-MM-YYYY and add days to a date.
  4. Write a program to read test data from a JSON file and filter the cases to run.
Part 9. Framework Patterns3 programs
  1. Write a custom fixture that gives every test a logged-in dashboard page object.
  2. Write a typed config loader that reads environment variables with safe defaults.
  3. Write a test data builder using the builder pattern.

Playwright JavaScript Last-Minute Notes12 parts, 48 questions

Part 1. Playwright Basics and Architecture4 questions
  1. Your QA lead asks why the team should spend a sprint adopting Playwright. What problems does it remove for testers?
  2. A banking test needs a maker and a checker logged in side by side, without sharing cookies. Which Playwright objects do you use, and why?
  3. Which browsers can Playwright run, and what does device emulation really cover?
  4. You join a team with no automation at all. Walk me through your first hour setting up Playwright in JavaScript.
Part 2. JavaScript for Testers5 questions
  1. When would you choose JavaScript over TypeScript for a Playwright suite?
  2. Explain Promises and async/await in the context of Playwright tests.
  3. A teammate's test fails with "Cannot use import statement outside a module". What is going on, and how do you fix it?
  4. How do you get type safety in a JavaScript Playwright project without moving to TypeScript?
  5. The same suite must run against QA, staging and pre-prod, and a password was just found in Git. How do you set up config properly?
Part 3. Locators5 questions
  1. What makes a Playwright Locator different from finding an element once?
  2. In what order do you pick locators, and why?
  3. How do you pick one item from a list or table reliably?
  4. An embedded support chat widget loads in an iframe and its buttons are web components. How do you click inside it?
  5. Which tools help you find good locators fast?
Part 4. Auto-waiting and Assertions5 questions
  1. What does Playwright wait for before it clicks or types?
  2. Why should you use web-first assertions instead of reading values first?
  3. When do you use expect.soft, expect.poll and toPass?
  4. A report page legitimately needs 50 seconds to load. Which timeout do you change, and which ones do you leave alone?
  5. How do you build stable visual tests with screenshots?
Part 5. Test Runner, Config and Projects4 questions
  1. Explain the key settings you keep in playwright.config.js.
  2. What are projects, and how do dependencies between projects work?
  3. How do you group, tag and filter tests, and how do you make reports readable?
  4. How do you handle tests that must run one after another?
Part 6. Fixtures and Hooks3 questions
  1. What is a fixture, and how do you create a custom one in JavaScript?
  2. Creating an API token takes 3 seconds and every test creates one. How can fixture scope cut that cost?
  3. How are hooks different from fixtures, and what is the catch with beforeAll?
Part 7. Page Object Model and Framework Design3 questions
  1. A designer renames the Login button and 40 tests break. How would a page object have limited the damage?
  2. Your suite grew from 20 to 400 tests and nobody can find anything. How would you reorganise the framework?
  3. What is your approach to test data in Playwright?
Part 8. Network Mocking and API Testing5 questions
  1. The product list API is down in the test environment, but you still need to test the empty and error screens. What do you do?
  2. Clicking Save triggers a PUT request, and the toast appears before the data is stored. How do you wait for the real API call?
  3. Your team wants API checks in the same repo and runner as the UI tests. Show how you test a REST endpoint with Playwright.
  4. How do you mix API calls and UI checks in one test?
  5. What are HAR files, and how can they make UI tests independent of a backend?
Part 9. Authentication and Sessions3 questions
  1. Your login page has a slow SSO redirect that adds 8 seconds to each test. How do you skip it safely?
  2. How do you test features that need different user roles?
  3. How do you deal with OTP, 2FA and captcha in automation?
Part 10. Debugging and Flaky Tests4 questions
  1. Walk me through how you debug a failed Playwright test.
  2. A developer says your failed test is "just flaky". How do you use a trace to prove what really happened?
  3. The search test passes every time on your machine but fails in the Jenkins job. What is your checklist?
  4. What usually causes flaky Playwright tests, and how do you fix each cause?
Part 11. Parallel Runs, CI/CD and Docker4 questions
  1. Your nightly run takes 50 minutes on one worker. What changes when you add workers, and what can break?
  2. How do you split a large suite across machines and get one report?
  3. What does a Playwright CI pipeline look like?
  4. A new joiner's tests fail on their Windows laptop but pass on yours. How would a container setup end this problem?
Part 12. Playwright with AI3 questions
  1. What is Playwright MCP, and how can it help a tester?
  2. How do you use AI tools in automation work responsibly?
  3. What are Playwright test agents?

Playwright JavaScript Interview Playbook12 parts, 48 questions

Part 1. Playwright Basics and Architecture4 questions
  1. Your QA lead asks why the team should spend a sprint adopting Playwright. What problems does it remove for testers?
  2. A banking test needs a maker and a checker logged in side by side, without sharing cookies. Which Playwright objects do you use, and why?
  3. Which browsers can Playwright run, and what does device emulation really cover?
  4. You join a team with no automation at all. Walk me through your first hour setting up Playwright in JavaScript.
Part 2. JavaScript for Testers5 questions
  1. When would you choose JavaScript over TypeScript for a Playwright suite?
  2. Explain Promises and async/await in the context of Playwright tests.
  3. A teammate's test fails with "Cannot use import statement outside a module". What is going on, and how do you fix it?
  4. How do you get type safety in a JavaScript Playwright project without moving to TypeScript?
  5. The same suite must run against QA, staging and pre-prod, and a password was just found in Git. How do you set up config properly?
Part 3. Locators5 questions
  1. What makes a Playwright Locator different from finding an element once?
  2. In what order do you pick locators, and why?
  3. How do you pick one item from a list or table reliably?
  4. An embedded support chat widget loads in an iframe and its buttons are web components. How do you click inside it?
  5. Which tools help you find good locators fast?
Part 4. Auto-waiting and Assertions5 questions
  1. What does Playwright wait for before it clicks or types?
  2. Why should you use web-first assertions instead of reading values first?
  3. When do you use expect.soft, expect.poll and toPass?
  4. A report page legitimately needs 50 seconds to load. Which timeout do you change, and which ones do you leave alone?
  5. How do you build stable visual tests with screenshots?
Part 5. Test Runner, Config and Projects4 questions
  1. Explain the key settings you keep in playwright.config.js.
  2. What are projects, and how do dependencies between projects work?
  3. How do you group, tag and filter tests, and how do you make reports readable?
  4. How do you handle tests that must run one after another?
Part 6. Fixtures and Hooks3 questions
  1. What is a fixture, and how do you create a custom one in JavaScript?
  2. Creating an API token takes 3 seconds and every test creates one. How can fixture scope cut that cost?
  3. How are hooks different from fixtures, and what is the catch with beforeAll?
Part 7. Page Object Model and Framework Design3 questions
  1. A designer renames the Login button and 40 tests break. How would a page object have limited the damage?
  2. Your suite grew from 20 to 400 tests and nobody can find anything. How would you reorganise the framework?
  3. What is your approach to test data in Playwright?
Part 8. Network Mocking and API Testing5 questions
  1. The product list API is down in the test environment, but you still need to test the empty and error screens. What do you do?
  2. Clicking Save triggers a PUT request, and the toast appears before the data is stored. How do you wait for the real API call?
  3. Your team wants API checks in the same repo and runner as the UI tests. Show how you test a REST endpoint with Playwright.
  4. How do you mix API calls and UI checks in one test?
  5. What are HAR files, and how can they make UI tests independent of a backend?
Part 9. Authentication and Sessions3 questions
  1. Your login page has a slow SSO redirect that adds 8 seconds to each test. How do you skip it safely?
  2. How do you test features that need different user roles?
  3. How do you deal with OTP, 2FA and captcha in automation?
Part 10. Debugging and Flaky Tests4 questions
  1. Walk me through how you debug a failed Playwright test.
  2. A developer says your failed test is "just flaky". How do you use a trace to prove what really happened?
  3. The search test passes every time on your machine but fails in the Jenkins job. What is your checklist?
  4. What usually causes flaky Playwright tests, and how do you fix each cause?
Part 11. Parallel Runs, CI/CD and Docker4 questions
  1. Your nightly run takes 50 minutes on one worker. What changes when you add workers, and what can break?
  2. How do you split a large suite across machines and get one report?
  3. What does a Playwright CI pipeline look like?
  4. A new joiner's tests fail on their Windows laptop but pass on yours. How would a container setup end this problem?
Part 12. Playwright with AI3 questions
  1. What is Playwright MCP, and how can it help a tester?
  2. How do you use AI tools in automation work responsibly?
  3. What are Playwright test agents?

Selenium Python Interview Playbook12 parts, 49 questions

Part 1. Selenium Architecture4 questions
  1. You call driver.find_element() in Python. Trace what happens between that line and the browser.
  2. A new joiner asks why the team never downloads chromedriver anymore. What do you tell them about Selenium Manager?
  3. Your team wants tests to react to browser events, like console errors, as they happen. Why is WebDriver BiDi the direction Selenium is taking?
  4. Your tests must run headless in CI, at a fixed window size, and not wait for slow ad scripts. How do you configure the browser?
Part 2. Python for Testers4 questions
  1. Your team is choosing between Java and Python for a new automation project. What makes Python a strong choice, and what is the trade-off?
  2. A test passes on your laptop but fails on a colleague's machine because of a different package version. How do you set up the Python environment so this stops?
  3. Your test dies with NoSuchElementException on one run and TimeoutException on the next. How should Selenium exceptions be handled in tests?
  4. You see @pytest.fixture and with blocks all over a test repo. Explain decorators and context managers using those examples.
Part 3. Locators5 questions
  1. Developers change the page layout and your locators break every sprint. Which locator strategies do you use, and in what order?
  2. Your lead says "never use XPath". Do you agree? Compare CSS selectors and XPath.
  3. An element's id looks like btn_83721 and changes on every page load. How do you locate it?
  4. A cookie consent button lives inside a shadow DOM, and find_element cannot see it. How do you reach it in Selenium 4?
  5. You must check that an error message is NOT shown. Why is find_elements the right call here, and not find_element?
Part 4. Waits and Synchronisation4 questions
  1. A button is in the DOM but stays disabled for two seconds. Why does an implicit wait not help, and what does?
  2. You need to wait until a spinner disappears and the Save button becomes clickable. Show how with WebDriverWait.
  3. Your framework sets a 10 second implicit wait and also uses explicit waits. Why do some failures take far longer than expected?
  4. You saved a table row element, sorted the table, and the next click throws an error. What happened, and how do you fix it?
Part 5. Browser Interactions5 questions
  1. A payment page loads its card form inside a frame and shows a confirm popup at the end. How do you automate both?
  2. Clicking "View invoice" opens a new tab. How do you check the invoice and come back to the first tab?
  3. A menu opens only on hover, and a card must be dragged into another column. Which Selenium feature handles this?
  4. A teammate fixed a failing click by switching to a JavaScript click. Is that a good fix? When should you use execute_script?
  5. A test must upload a resume and confirm that a report downloads. How do you automate both without touching the OS file dialog?
Part 6. pytest Essentials5 questions
  1. Every test file opens and closes its own browser with copied code. How do pytest fixtures and conftest.py remove that duplication?
  2. A browser per test is slow, but one shared browser makes tests leak into each other. How do fixture scopes and yield help you choose?
  3. You must test login with 12 username and password combinations. How do you do it without writing 12 tests?
  4. Before a release you want to run only the smoke tests. How do markers and pytest.ini make that possible?
  5. Your manager wants the same suite on Chrome, Firefox and Edge with no code changes. How do you pick the browser from the command line?
Part 7. Page Object Model and Framework Design4 questions
  1. The same login locators are copied into 25 test files, and one UI change broke all of them. How does the Page Object Model fix this in Python?
  2. Every page object repeats the same wait-then-click code. What would you move into a BasePage class, and what would you keep out?
  3. You are asked to set up a new Selenium Python framework from scratch. Walk me through the folders and why each one exists.
  4. The same tests must run on QA and staging with different URLs and users, and failures need clear logs. How do you handle config and logging?
Part 8. Test Data and Data-Driven Testing3 questions
  1. The business team wants to add new search test cases without touching Python code. How do you drive tests from a JSON or CSV file?
  2. Your client keeps test data in an Excel sheet and wants to keep it that way. How do you read it in pytest?
  3. Tests pass alone but fail in parallel because they all register the same email. How do you generate test data safely?
Part 9. API Testing with requests4 questions
  1. Before automating the UI, you want a fast check that the users API works. Write that check in Python.
  2. Every API call needs a bearer token, and logging in for each test is slow. How do you share the token across API tests?
  3. An API still returns 200, but a field the UI needs was renamed. How would a test catch this?
  4. Every UI test spends 8 seconds on the login form. How can the API skip that step?
Part 10. Reporting and Debugging4 questions
  1. Your manager wants a report after every run that anyone can open. Which reporting options do you use with pytest?
  2. A test fails at 3 a.m. in CI. How do you make sure a screenshot is already waiting for you in the morning?
  3. A test failed only on the CI Grid, and the screenshot looks normal. What other evidence do you collect?
  4. Your suite has 10 tests that fail at random, about once a week. How do you find and fix the causes?
Part 11. Parallel Runs, Grid, Docker and CI4 questions
  1. Your suite takes 50 minutes on one machine. How do you spread it across CPU cores with pytest-xdist, and what breaks when you do?
  2. You need the suite on Chrome and Firefox across several machines at once. How does Selenium Grid 4 help, and how does a test connect to it?
  3. Nobody wants to install and update browsers on the CI server. How do the official Selenium Docker images solve this?
  4. Your team wants smoke tests on every pull request and the full suite every night. What does the CI pipeline look like?
Part 12. Selenium, Playwright and AI3 questions
  1. Your team is starting a new web project. How would you compare Selenium and Playwright in front of the architect?
  2. Playwright is popular, yet you recommend Selenium for one project. When is that the right call?
  3. Your manager wants AI to write Selenium tests to save time. How do you use AI without lowering quality?

A real page from the playbook

Write a Playwright program to verify a table column is sorted after clicking its header.

  • Click the column header.
  • Read every cell of that column with allTextContents.
  • Convert the texts to numbers if needed.
  • Compare with a sorted copy of the same list.
await page.getByRole('columnheader', { name: 'Price' }).click();
const cells = page.locator('table tbody tr td:nth-child(3)');
const prices = (await cells.allTextContents())
  .map(t => Number(t.replace(/[^0-9.]/g, '')));
const sorted = [...prices].sort((a, b) => a - b);
expect(prices).toEqual(sorted);

Remember: Copy before sorting ([...prices]) so you compare against the original order.

Common mistake: Calling prices.sort() directly. It sorts the original array, so the check always passes.

Who it is for

This is for you if

  • You are preparing for SDET or automation interviews and want everything for your stack in one purchase.

It is not for you if

  • You need only one of the PDFs. Each one is also sold on its own.

What is inside

  1. Playwright TypeScript Coding Round Playbook40 coding round programs, from strings and arrays to real Playwright tasks, each with approach, solution and output.
  2. Playwright JavaScript Interview Playbook48 Playwright interview questions with clear answers, JavaScript code and the mistakes to avoid.
  3. Selenium Python Interview Playbook49 Selenium interview questions with clear answers, Python code and the mistakes to avoid.
  4. Playwright TypeScript Last-Minute NotesAll 48 interview answers in short form, with every diagram. For the night before your interview.
  5. Playwright JavaScript Last-Minute NotesAll 48 interview answers in short form, with every diagram. For the night before your interview.

PDFs. Works on phone and laptop.

In this bundle

Buying the bundle gives you every product above.

From Jatin

Jatin Shharma

12+ years in test automation at Infosys, HERE Maps (originally Nokia Maps) and B2X. Client work for BMW and Audi, including self-parking car automation.

More about Jatin

Questions

What do I get?

Every PDF listed above, each with its own download link in your email and in My purchases.

What format is it?

A PDF you can read on your phone or laptop and print if you like. The download link comes to your email and stays in My purchases.

Do I get updates?

Yes. Everyone who has it gets every update, and fresh links always download the newest version.

Do I get separate files?

Yes. Every PDF in the bundle is its own file, each with its own download link in your email and in My purchases.

Is this generic content I can find online?

No. Every answer is written for the way SDET interviews are run: the points to say, the code to show, and the mistake that loses marks.

Everything for the interview, one price

The saving is real: the bundle costs less than the PDFs bought one by one.

Price: β‚Ή999
$19 if you pay by card from outside India