The Internet (practice site for test automation)
A free collection of small web pages, each built around one hard problem for browser automation: dynamic loading, frames, multiple windows, alerts, drag and drop, file uploads, hovers, disappearing elements and more. It is the classic place to practise locators, waits and interactions in Playwright or Selenium without a complex app getting in the way.
909
GitHub · Sept 2026
Platform
Other
Dave Haeffner (Sauce Labs)
Beginner
Free
What it is
"The Internet" is a practice website with dozens of small example pages, created by Dave Haeffner and open sourced by Sauce Labs. Each page isolates one behaviour that commonly trips up automated tests, so you can practise that one thing until it is reliable.
What is on it
Examples include A/B testing, adding and removing elements, basic and digest authentication, broken images, a challenging DOM, checkboxes, context menus, disappearing elements, drag and drop, dropdowns, dynamic content, dynamic controls, dynamic loading, entry and exit pop-ups, file download and upload, floating menus, form authentication, frames, geolocation, horizontal sliders, hovers, infinite scroll, JavaScript alerts, key presses, multiple windows, notification messages, redirects, shadow DOM, sortable data tables, status codes and typos.
Is it worth your time?
Yes, for anyone learning browser automation. Real applications mix all these problems together, which makes it hard to learn how to handle each one. Here you can write a Playwright or Selenium test for each page, make it pass reliably, run it many times to check it is not flaky, and move on. It is also useful for manual practice: several pages behave inconsistently on purpose, which is good material for exploratory sessions and bug reports.
How to use it well
- Start with form authentication, checkboxes and dropdowns, then dynamic loading and dynamic controls to practise waiting properly.
- Move on to frames, multiple windows and JavaScript alerts, which need specific APIs in both Playwright and Selenium.
- Run every test at least 20 times in a loop. If one fails even once, find out why before moving on.
- Keep your tests in a public repository with a README; a clean suite against this site is a reasonable first portfolio piece.
Prerequisites
Basic programming in your automation language and a working Playwright or Selenium set-up.
Free or paid?
Free. The source is open on GitHub, so you can also run it locally, which avoids depending on the public copy being available.
Common questions
Is it realistic? Each page is simplified, which is the point: it isolates problems. Pair it with a practice store or an open source app for realistic flows.
Can I load test it? No. It is a shared public site for functional practice; never load test it.
Ready to start?
Opens on Dave Haeffner (Sauce Labs) in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.