Prerequisites
Web application manual testing knowledge is a must and knowledge in any programming language.
Course Curriculum
Day-1
TypeScript Introduction & Environment Setup
- Javascript - Callback functions, Promises, Async / Await
- What is TypeScript?
- Setting up Node.js & VS Code
- Transpiling .ts to .js
- Data types - string, number, boolean, any, void, union
Day-2
- Conditional Statements
- For loop
Day -3
Functions in Typescript
- Function declarations & expressions
- Optional and default parameters
- Arrow functions
- Callback functions
Day - 4
Class Features
- Creating classes
- Readonly properties
- extends, method overriding
Day - 5
- Access modifiers: public, private, protected
- Importing/exporting modules
Day - 6
- HTML & CSS
Day - 7
Playwright
- Introduction to Playwright
- Installing Playwright
- Initializing Playwright project
- Understanding project structure
- Writing first test
- Running tests (headless/headed mode)
- Running specific tests & multiple tests
- UI Mode overview
Day - 8
Playwright Locators
- getByText, getByRole, getByLabel
- locator(), page.locator()
Basic Actions
- Typing text, clicking buttons
Day - 9
- Handling radio buttons, checkboxes
- Dropdown
- Tooltips - https://jqueryui.com/tooltip/
Day - 10
iFrames
- Locating elements inside iframes
- innerText() vs textContent()
- allInnerTexts() vs allTextContents()
- all() Method
Day - 11
Dialogs, Windows & Tabs
- Handling alerts, prompts, confirm dialogs
- Switching between tabs/windows
Mouse Actions
- Hover, right-click, double-click, drag & drop
Day - 12
Scrolling
- Scrolling to elements
- Infinite scrolling techniques
- File Upload & download
- Browser Context & Pages
- Working with new contexts
- Multi-tab and isolated sessions
Day - 13
Auto-waiting, Timeouts & Assertions
- Auto-waiting mechanism
- Test and Expect Timeouts
- Assertions (Auto-retrying & Non-retrying assertions)
Record the tests (Test Generator/Codegen)
- Record the tests using Codegen
- Identify locators in Codegen
- Modifying generated tests
Debugging tests
- Live debugging, editing locators
- Run in Debug Mode
- Picking a Locator
Screenshots & Videos
- Capturing screenshots
- Recording test runs
- Viewport
Tracing with Trace Viewer
- Enabling tracing
- Opening trace files for debugging
- Retries and handle Flaky tests
Day – 14
Grouping Tests & Hooks
- grouping tests with describe()
- Hooks - beforeAll, afterAll, beforeEach, afterEach
- Annotations – only, skip, fail, fixme, slow
- Tagging Tests
Day - 15
Parallel Test Execution
- Setting parallelism in config
- Worker-level isolation & Limiting workers
Parameterization
- Different ways to Parameterize data to the tests
Day - 16
- Data Driven Testing with External files( JSON)
Day - 17
Reporting
- Data Driven Testing with External files( JSON)
Day - 18
Visual Testing/Visual Comparisons
- Generating Screen shots
- Comparing snapshots
Day 19 & 20
Page Object Model (POM)
- Creating reusable page classes
- Encapsulating page actions
Day 21 & 22
API Testing with Playwright
- Rest API Testing - Get, POST, PUT, DELETE
- Post using .json payloads
- API Mocking
Authentication using StorageState
Day 22 & 23
Basic Git commands :
- Add, commit, push, pull, clone, branching
Day 24
Playwright AI :
- Integrating Playwright MCP Server with Claude AI
