🎭 demo.playwright
This repo is used to demo various testing scenarios with Playwright
The test.yml GitHub Action workflow is used to:
Run Playwright example tests
accessibility - runs accessibility checks against https://playwright.dev/docs/accessibility-testing
android - runs a basic test using Android's WebView.
basic - basic tests to show interactions, element selectors, assertions, upload files, read a response, mock a response, and page object model (POM).
chrome-extension - basic test that gets a handle to the background page of Chrome extension.
drag-and-drop - runs example drag-and-drop test utilizing https://www.w3schools.com/html/html5_draganddrop.asp.
electron - runs a basic test for Electron application, controlling main electron process and working with Electron window.
fixtures - runs example tests utilizing test and worker fixtures.
github-api - uses GitHub API to test creation of a new repo, bug, and feature, then deletion of repo.
oauth - runs oauth tests for LinkedIn, Facebook, and Google, to login to https://courses.ultimateqa.com/users/sign_in.
performance - web performance tests using resource timing API, DevTools, and lighthouse, run against https://fastestwebsite.net
svgomg - End-to-end tests for SVGOMG! site, hosted at https://demo.playwright.dev/svgomg
todomvc - End-to-end tests for ToDoMVC site, hosted at https://demo.playwright.dev/todomvc
visual-comparison - visually compares snapshots with golden screenshots and text content for playwright.dev landing page.
Publish each HTML report to their respective directory
When the above tests are finished, the results are published to GitHub pages:
- testresults.marcusfelling.com/accessibility
- testresults.marcusfelling.com/android
- testresults.marcusfelling.com/basic
- testresults.marcusfelling.com/chrome-extension
- testresults.marcusfelling.com/drag-and-drop
- testresults.marcusfelling.com/electron
- testresults.marcusfelling.com/fixtures
- testresults.marcusfelling.com/github-api
- testresults.marcusfelling.com/oauth
- testresults.marcusfelling.com/performance
- testresults.marcusfelling.com/svgomg
- testresults.marcusfelling.com/todomvc
- testresults.marcusfelling.com/visual-comparison
Configuration
The baseURL value for most tests is set as a workflow environment variable. This allows flexibility for the URL of the sites tested. By not hardcoding a URL in page.goTo('')
we can simply pass baseURL without changing the test script e.g. test.site.com -> stage.site.com -> prod.site.com
Have a testing scenario you'd like to see included?
Please open an issue with details.