In this article we will show how to create End to End (E2E) UI tests for the e-commerce ASOS for 3 of their markets (UK, IT, DE) in less than 30 minutes.
Why use TestCafe for running tests?
For creating the tests we will be using the TestCafe framework. TestCafe is an open source framework that was migrated from a commercial product.
Here are some of the advantages of TestCafe over WebDriver based frameworks:
- less moving parts and no problem with the webdriver to browser compatibility as TestCafe does not use webdriver
- the tests run much faster
- the error message that we get when a test fails provide the exact reason of the fail unlike the webdriver based frameworks which provide an useless error message
- implementing the tests is very easy once the boiler plate is all set up so the ROI is very high
How to create the framework and run tests against the ecommerce platform?
The project is located at:
(this is just a demo project for learning purposes, we are no NOT affiliated with, funded, or in any way associated with ASOS brand):
Please clone the repository:
git clone https://github.com/loadfocusapp/asos-testcafe-e2e
Run the tests against asos.com, asos.de and asos.com/it websites.
For running the tests please go into the directory where you cloned the repository and run:
In order to run the tests you need to have NPM install on your machine, find here how to install NPM.
In this demo we use: Node v8.9.4 and NPM v5.6.0.
npm i ENV=AsosCom npm run e2e:firefox ENV=AsosDe npm run e2e:chrome ENV=AsosIt npm run e2e:safari
Let us know if you need help setting this up for your own web application.
LoadFocus – is a easy to use cloud testing tool, and you don’t need any setup, it runs from the browser. It helps you understand better your Website’s and WebServices’ performance and find potential bottleneck before your customers do. Run a free website speed test today.
Thanks for reading. I hope you learned something interesting about React!
If you found this article useful, please share it with others. Don’t forget to subscribe to get notified for the upcoming articles.