Best Automated Testing Tools for 2020
Tags: testing, webdev, javascript
Published: 2019-12-11 08:42:26

---
title: Best Automated Testing Tools for 2020
published: true
description: A review for the best automated testing tools for 2020
tags: testing, webdev, javascript
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ygi4l6lzdd54l83epz2g.jpeg
---

As developers, we have the responsibility to provide our users with functional applications.

Each year, I explore all the relevant solutions for automated testing and rank them based on a list of requirements.

**Disclaimer**

I do not discriminate against open source or proprietary technologies. 

I do wish all the solutions were free and open source, but one of my requirements is for the solution to include a cross-browser cloud. 

Because some of our users are using Safari or Internet Explorer 11.

If you're preparing to type a comment like this:

**But did you try that E2E-library-that-only-works-for-Chrome?** 🤓

Please stop and check if it fulfils most of the listed requirements. 

If it does, please tell us about it in a comment. 

I personally don't believe in open source solutions, backed up by huge marketing budgets spent on bashing Selenium. 


| **Requirement**                         | **Endtest** | **BrowserStack** | **Sauce Labs** |
|-----------------------------------------|-------------|------------------|----------------|
| Works for Web Applications              | ✅           | ✅                | ✅              |
| Works for Mobile Applications           | ✅           | ✅                | ✅              |
| Solid Documentation                     | ✅           | ✅                | ✅              |
| Cloud with browsers on Windows machines | ✅           | ✅                | ✅              |
| Cloud with browsers on macOS machines   | ✅           | ✅                | ✅              |
| Codeless Technology                     | ✅           | 🔲                | 🔲              |
| API                                     | ✅           | ✅                | ✅              |
| Scheduler                               | ✅           | 🔲                | 🔲              |
| Useful Customer Support                 | ✅           | 🔲                | ✅              |
| Email Testing                           | ✅           | 🔲                | 🔲              |
| Geolocation                             | ✅           | ✅                | ✅              |
| Video recording of test executions      | ✅           | ✅                | ✅              |

##**1. [Endtest](https://endtest.io)**##
A cloud platform that allows you to create, manage and run Automated Tests for Web Applications and Native Mobile Apps (Android & iOS), without having to write any code.
{% youtube 4DIVKcs--TA %}
Lots of nice features, such as:
• Cross-browser grid, running on Windows and macOS machines
• Codeless Editor for Automated Tests
• Support for Web Applications
• Support for both native and hybrid Android and iOS apps
• Video recordings for test executions
• Detailed logs
• Chrome extension to record web tests
• Element Inspector for mobile apps
• Screenshot comparison
• Data-driven testing with CSV files
• Geolocation
• Email, Slack and Webhook notifications
• If Statements and Loops
• Variables and re-usable components
• Support for file uploads in the tests
• An Endtest API, for integration with CI/CD systems
• Advanced Assertions
• Endtest Mailbox, for testing emails
• Self-healing tests

This is what it looks like when you want to execute a test:
![Endtest UI](https://thepracticaldev.s3.amazonaws.com/i/ku9gwet2genzvkp10r5n.png)


And these are the detailed logs from a test execution:
![Endtest Results](https://thepracticaldev.s3.amazonaws.com/i/5717ka5bwovmlb8xduzt.png)

Their [Documentation](https://endtest.io/guides/docs/how-to-create-web-tests/) is fantastic. Lots of examples and videos.

I got quick responses from the Endtest Support, which is constantly praised in the [reviews](https://www.capterra.com/p/180545/Endtest/) I found online.

[Netflix](https://jobs.lever.co/netflix/db335e29-c731-42ff-ad3a-eeecbe95b36f) uses this platform to test their web apps. It's even listed as a Required Skill for some of their [jobs](https://www.linkedin.com/jobs/view/1486749071/). 

Clearly, [Endtest](https://endtest.io) is the winner.

##**2. [BrowserStack](https://browserstack.com)**##

BrowserStack is a cloud platform that offers you a list of browsers and mobile devices to execute your Selenium and Appium tests.

Features:
• Cross-browser grid, running on Windows and macOS machines
• Mobile device lab with emulators and real devices
• Video recordings for test executions
• Detailed logs
• Geolocation
• BrowserStack API

The User Interface is definitely intuitive:

![BrowserStack UI](https://thepracticaldev.s3.amazonaws.com/i/jk8odobq8fd70nfui0op.png)

The [Documentation](https://www.browserstack.com/docs) from BrowserStack is well structured and offers numerous examples.

What I didn't like about it is the amount of effort it takes to make it work.

It doesn't offer any out-of-the-box features.

The Support from BrowserStack could be better. They do not have a chat and it takes a few hours to get a response. 


##**3. [Sauce Labs](https://saucelabs.com)**##

Sauce Labs is very similar to BrowserStack, also a cloud platform that offers you a list of browsers and mobile devices to execute your Selenium and Appium tests.

With similar features:
• Cross-browser grid, running on Windows and macOS machines
• Mobile device lab with emulators and real devices
• Video recordings for test executions
• Detailed logs
• Geolocation
• Sauce Labs API

This is what it looks like:

![Sauce Labs](https://thepracticaldev.s3.amazonaws.com/i/9f4w6sbsa536n5w8pslo.png)

It's difficult to navigate through the [Documentation](https://wiki.saucelabs.com) from Sauce Labs. 

You have to spend some time digging around. 

For example, let's say you want to execute your Appium tests on their mobile devices. 

The ID for each device is required, but you won't find any place that contains the list of devices and their IDs. 

Their API feels a bit incomplete. 

I was surprised to find out that you can't upload the latest build for your mobile app with the API, you have to do it manually through the User Interface. 

That's a shame, because both [Endtest](https://endtest.io) and [BrowserStack](https://browserstack.com) offer that functionality.

Our experience with their Customer Support was pleasant.