Section 6: Forms, Files and Login
- Filling every kind of form control: text fields, selects and date pickers
- Uploading and downloading files and verifying the result
- Saving login state so tests do not have to log in again every time
- Lab: write tests that log in once and reuse that state everywhere else
Section 7: Page Objects and Code Organization
- The page object pattern and separating UI detail from test logic
- Using fixtures to prepare the environment and data before a test runs
- Separating test data from code so one test can run against many data sets
- Lab: refactor your tests into maintainable page objects
Section 8: Testing APIs Alongside the UI
- Calling APIs directly from Playwright to seed data before a UI test
- Verifying backend results after acting through the interface
- Intercepting and mocking API responses to test hard-to-produce cases
- Lab: write a test that seeds data over the API then verifies it in the UI
Section 9: Reporting and Debugging
- Reading the test report and seeing exactly which step failed
- Capturing screenshots, video and traces automatically on failure
- Using Trace Viewer to replay every step of a failed test
- Using Codegen to draft tests, and what to watch out for in the generated code
Section 10: Running in CI/CD
- Running the suite automatically on every code change or pull request
- Running tests in parallel and sharding across machines for speed
- Handling secrets and configuration across dev and staging environments
- Lab: configure the suite to run automatically in CI and publish its report
Section 11: Capstone and Real-World Use
- Capstone: build a suite covering the critical paths of one web application end to end
- Deciding which paths are worth automating first
- Keeping the suite from becoming a maintenance burden over time
- Workshop: present your suite and review its structure together