Roadmap › 5. Automation & Industry 4.0 › Step 52
QA
Test Automation — Selenium, Playwright, API and BDD with C#
Testing fundamentals and the test pyramid, NUnit/xUnit, Selenium WebDriver and locators, waits, Page Object Model, Playwright for .NET, API testing with HttpClient/RestSharp/Postman, BDD with Reqnroll (SpecFlow), data-driven tests, CI pipelines, flaky tests and the SDET interview questions.
Quick revision for interview day. Print it or save it as a PDF.
Pyramid & what to automate
Many unit → some API/integration → few UI. Automate regression, smoke, data-driven, API contracts; keep exploratory and usability manual.
Selenium essentials
csharp
driver.FindElement(By.CssSelector("[data-testid='save']")).Click();
new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(d => d.FindElement(By.Id("ok")).Displayed);
new SelectElement(el).SelectByText("India"); driver.SwitchTo().Frame("pay");Playwright essentials
csharp
await Page.GetByRole(AriaRole.Button, new() { Name = "Save" }).ClickAsync();
await Expect(Page.GetByText("Saved")).ToBeVisibleAsync();
await Page.RouteAsync("**/api/orders", r => r.FulfillAsync(new() { Json = new[] { new { id = 1 } } }));Framework checklist
POM/components · driver factory · config per env · explicit waits only · data via API · independent tests · parallel-safe · screenshots/traces on failure · reports · CI categories (smoke/regression).
Flaky test fixes
Condition waits · stable locators · own data per test · mock unstable dependencies · quarantine + fix · retries only as a visible, temporary measure.