We need websites to practice our test automation skills, wouldn’t you agree?
Where do you go when you need to learn how to deal with AJAX, Angular, Kendo, and other dynamic elements?
Hence, I compiled a list of my favorite websites to practice test automation:
- SauceDemo.com (web UI)
- ultimateqa.com/automation (web UI)
- Sample E-commerce mobile app (Android, iOS)
- Cypress Real World App (web UI)
- RealWorld demo apps (web, React, Angular, Vue, Elm…)
- Telerik Multi Language Demo Site (web UI)
- Webdriveruniversity.com (web UI)
- ACME Demo Banking (web UI)
- Dave Haeffner’s Practice Site (web UI)
- ParaBank Bank Site (web, API)
- Fake Address Book (web UI, API)
- Restful-Booker (API)
- JSONPlaceholder (API)
- HTTPBin.org (API)
- PetStore (API)
- E-commerce Clothing Site (web)
- Demoqa (web)
- Compendiumdev.co.uk (web)
- React shopping cart (React JS)
This list contains test automation websites that provide some unique attributes that other websites don’t have. As a result, you can pretty much combine all of them together to have a complete profile of different types of automation skills.
SauceDemo E-Commerce
Skills Learned: Test data injection, handling automation failures
This is probably the best demo site that I have seen for UI test automation. This website is an e-commerce store that has several cool attributes.
First, it has a normal, working user that you can use for all of your test automation scenarios.
Next, you can use the problem_user to test the same exact scenarios that worked for the standard_user. However, the problem_user, will have tons of problems with the web app. As a result, a bunch of your tests should fail, for the correct reasons.
There is a detailed API documentation here
You can even download the client on your localhost and run tests against the app
Ultimate QA HTML Elements

Skills Learned: Web app, simple HTML elements, complicated HTML elements
A free place to practice some scenarios like:
- Testing a large complicated page
- Work with simple HTML elements like buttons
- Fill out forms
- Automate an application that evolves over time
Cypress Real World App
Skills Learned: Cypress, Cross-browser testing
Cypress Real World app is a dummy site created to simulate real-world applications. You can use it to practice UI testing, database testing, and authentication testing.
RealWorld example apps
Skills Learned: UI interactions
This app might be one of the coolest ever because you can actually mix and match your front-end and your back end for your desired tech stack. Yet the functionality remains exactly the same! Some options you have are:
- React / Redux
- Angular
- Elm
- Vue
Telerik Multi Language Demo Site
Skills Learned: UI interactions
I don’t know if this website was meant to be a demo automation site. However, I do know that it is fantastic! It has all sorts of controls to play with. example:
- Angular components
- Angular dropdowns
- React conversational UI component
- ASP.NET Grid
- ASP.NET MVC tree view
And so much more. This might be a one stop shop for all of your HTML elements and controls.
Webdriveruniversity.com
Skills Learned: UI interactions, AJAX Loader
So many websites that I’m only going to point out the differentiating features:
ACME Banking
Skills Learned: Very simple UI interactions
This is a demo banking website from Applitools. You can login to the app simply by pressing the login button and not even entering any credentials.
It doesn’t seem to do much though besides being able to login. None of the buttons seem to work. Only the UI seems to get refreshed with a few of the buttons.
Dave Haeffner’s Practice Site

Skills Learned: more complex UI interactions
Dave designed an excellent place to practice different kinds of test automation scenarios. Some of the scenarios that you can try to automate include:
- A/B Testing
- Basic Auth
- File Upload
- Challenging DOM
- iFrames
- Slow connections
- Dynamic content
- Hovers
- Redirect links
ParaBank Banking Software
Skills Learned: UI + Web Services automation
This is a banking website that allows for automation through the UI and through the Web Services (REST and SOAP). This is hugely beneficial because it will allow you to think of your automation in terms of the automation pyramid.
This means that you can learn how to move as much functionality as possible to the API layer and then do the rest of the automation through the UI layer. This is the ultimate approach to automation and having a website like this is amazing for practice.
Fake address book app

Skills Learned: API testing
This is an app that I recently learned about from one of my coworkers. This is a sample Address Book app. Some things that you can practice here are basic CRUD operations for addresses.
There is a detailed API documentation here
You can even download the client on your localhost and run tests against the app
Sample Ecommerce mobile app (Android, iOS)
Skills Learned: mobile UI automation
In this repository you will find our Sauce Labs sample-app. You can use it as a sample app for testautomation on your local machine or in our Real Device Cloud.
Restful-Booker
Skills Learned: API Automation
Restful-booker an API that you can use to learn more about API Testing or try out API testing tools against. Restful-booker is a Create Read Update Delete Web API that comes with authentication features and loaded with a bunch of bugs for you to explore. The API comes pre-loaded with 10 records for you to work with and resets itself every 10 minutes back to that default state. Restful-booker also comes with detailed API documentation to help get you started with your API testing straight away.
JSONPlaceholder API
Skills Learned: API testing
Fake Online REST API for Testing and Prototyping
HTTPBin.org
Skills Learned: API testing and automation
Fake online HTTP request and response service to practices things like:
- Authentication
- Cookies
- Redirects
- And so much more
PetStore API
Skills Learned: API testing
PetStore is an online REST API for managing a pet store.
Sample E-Commerce Site

Skills Learned: UI interactions
This is really a nice fake e-commerce site to practice test automation. If you have a project where you need to practice different flows for online stores, this is the website you want. You can practice
- Adding items to the cart
- Checking out
- Validating that items have been added
Demoqa

Skills Learned: UI interactions – from basic to advanced
This is a neat little website with simple elements to practice test automation with. It has:
- Draggable elements
- Droppable elements
- Selectable elements
- Sortable elements
- Much more
Compendiumdev.co.uk

- Skills Learned: UI interactions
- Drag and drop elements
- Draw on a canvas
React Shopping Cart
Skills Learned: ReactJS automation
This is a React JS web app that I forked and modified to fit the needs for test automation. I plan to maintain this app for a really long time so that it never dies and we can always use it for practice.
Conclusions
Did I miss some sample sites? What other practice sites or apps would you like to see listed? Let me know below so that I can expand this list.
prueba
Do you have an app list to practice mobile automation with appium?
I don’t 🙁
For automation the web site ought not to change. Has to be stable.
That’s a very old mindset. We have tons of clients that do automation on a constantly evolving app. I do this myself on a weekly basis.
Interesting Nikolay, How do you do that?
Do what haha?
Hi Nikolay. There are a lot of build errors for the react-shopping-cart repo. I’m using the latest code from GitHub and npm -version 6.13.4 on Windows10, in PowerShell, in repo directory. npm install. first error:
c:\users\steve\source\repos\react-shopping-cart\node_modules\fibers\src\fibers.cc(68): error C2143: syntax error: missi
ng ‘;’ before ‘<' [C:\Users\Steve\source\repos\react-shopping-cart\node_modules\fibers\build\fibers.vcxproj]
Thanks for filling me in! Sorry about your struggles. Let me troubleshoot and fix it.
In the meantime, you can use the live page: https://react-shopping-cart-67954.firebaseapp.com/
Selenium Easy is good site as well!
The SauceDemo Mobile apps are also worth a mention: https://github.com/saucelabs/sample-app-mobile
Hi Nikolay.
maketestingeasy.com, has a brilliant way of allowing you to own your own web application that you can run as many tests against as you wish. It is locally run and allows you to manage your own data and set it to what you want!
It is totally free. Giving you the freedom to use it to test Selenium applications against stable data over and over again. It’s basic, but absolutely great when learning basic Selenium. You can also practice your SQL using the MySql database that it comes with.
There is an installation that you have to do, but if you follow the guide given, you will have it up and running in no time. Well, I say no time, it takes about 15 to 30 minutes! It certainly beats the online applications.
hi