The best browser testing tools for developers
— Last updated: 2021-11-09
Naman has a background in computer science and has published research with IEEE on predicting software bugs using machine learning models.
✦ Disclosure: All reviews are editorially independent and partners must meet our selection criteria. Where indicated, we work with some partners to provide extras to our audience, but do not accept payment for reviews.
The best browser testing tools provide a variety of target devices and browsers, can be integrated with existing continuous integration pipelines, provide advanced debugging capabilities to pinpoint the root cause of failure, and allow sharing the reports with stakeholders via different channels.
We tested 12 browser testing tools using our independent selection criteria and the requirements described below. The best browser testing tools for developers in 2021 are:
In this article, we explain why. We assessed the key features all browser testing tools should have from the perspective of an experienced developer or quality assurance engineer. This means assessing automation, debugging, reusability and scalability of tests. We also keep a close eye on accessibility and the localization testing capabilities.
tl;dr the best browser testing tools
The three most important features every browser testing tool must have are: a wide range of target devices and browsers supported, automation, and debugging & error reporting. Other features might be useful to improve the product experience, but modern browser testing tools in 2021 must have these three requirements
For each of our browser testing tool reviews we will assess functionality based on our standard selection criteria plus these three requirements:
Devices and browsers supported
The primary objective of cross browser testing is assessing the usability of websites and web applications on different devices, screen sizes and browser versions. When considering a browser testing product, the number of available devices is relevant, but the market share covered by those devices is also important to ensure tests are representative of real world usage. A large portion of internet traffic comes from mobile devices so all tools must also provide a good solution for testing different browsers on a variety of mobile devices.
Browser testing is often automated and integrated into CI/CD pipelines. This helps prevent regressions and ensures there is a minimum quality standard met when releasing code into production. Testing environments must therefore be consistent (stateless) and any devices must be reset after each use to factory configurations to maintain consistency and minimize erratic behaviour.
Different browser testing services approach this in different ways, such as a plugin for the CI/CD service, but tools may also directly support orchestrating cloud resources, connect into different hosted Git repositories, and may support specialist testing of CMSs such as WordPress. A/B testing may also be a part of this. It’s a bonus if a CLI is available for developers who prefer working with the command line.
Debugging & error reporting
All tools should have a bug reporting system. Bug reports generated by tools must be meaningful and provide enough details about tests so that bugs can be reproduced. Generated bug reports should integrate well with existing bug tracking systems because most users will already have a system for tracking issues.
A report should be short and concise. It must capture all the steps that could lead to the root cause of a failure. It should be able to send summary reports on messaging platforms like Slack, Teams, Discord, etc., and support a format that you can share through email.
Best browser testing tools
BrowserStack is a cross browser testing and debugging tool which supports tests built with Selenium, Cypress, Playwright and Puppeteer. It offers both live and automated testing on 2000+ real mobile devices and virtual desktop machines.
LambdaTest is one of the newer tools in the cross browser testing market. It has a clean UI, large number of test devices and an interesting desktop application (LT Browser) which offers live testing functionality locally.
In addition to live and automatic testing, SmartBear CrossBrowserTesting offers features such as screenshot testing and codeless testing using AI to record and replay interactions on screen. It offers 2,000+ target browsers and mobile devices.
Sauce Labs is a full-scale testing platform for websites and applications that supports test frameworks such as Selenium, Playwright and Puppeteer on a large number of popular device, browser and operating system test targets.
Ghost Inspector is a cloud browser compatibility testing tool that stands out for its support for testing 2FA and end-to-end email flows. Testing can be automated on a schedule or via an API, as well as manually via the web UI, but it only supports Chrome and Firefox on desktop.
We considered QA Wolf but it did not meet our selection criteria as it requires us to schedule a call with a sales representative before sign-up. We examined TestComplete and Ranorex but as they only support Windows, we excluded them from our review.
We also tested the following 4 tools but they did not meet our criteria for a full review:
AWS Device FarmNo rating
AWS Device Farm provides mobile and desktop devices for testing websites and web applications. Desktop browser testing can be performed on the latest 3 releases of Google Chrome, Mozilla Firefox, and Microsoft Edge on Windows 10. A limited number of real mobile devices are available to perform automated or live testing.
AWS Device Farm is only available in the us-west-2 (Oregon) region. However, it is possible to mock geo-location data and simulate lossy network connections. Unfortunately, live testing has high network latency and the user has to wait >2 seconds to see the output of keystrokes, this results in a poor experience while typing and scrolling.
An interesting feature is that users can buy private devices which are physically deployed in AWS data centers and can be used for both automated and manual testing.
Automated tests can be executed in two environments - the standard environment, which takes longer to execute but provides detailed logs, performance data, videos, screenshots, and reporting for every case in the test suite, or in a customized test environment, which allows specifying the commands which should be executed during testing. Granular test reports are not generated in the customized test environment but live streaming of logs and videos of tests is possible.
AWS Device Farm supports a total of 2 integrations: Jenkins CI and Gradle build system in Android Studio. This is a major limitation. Even the omnipresent ticketing system Jira is not supported. AWS device farm does not integrate well with existing tools and does not offer a good selection of browsers and devices. Therefore, we did not select it for a full review.
Polypane is a multi-pane browser made for web testing using different window sizes with scrolling sync. Whilst it supports Windows, Linux and macOS, it can only test Chrome due to being built with the Chromium browser engine.
Polypane provides an excellent experience for responsive testing. It comes with
all popular viewport sizes configured by default and allows the option to add
custom breakpoints. Panes can emulate desktop or mobile devices to have custom
values for modern CSS presets such as
prefers-color-scheme. Panes can also simulate visual impairments like
cataract, far-sightedness and 8 types of color blindness. Accessibility testing
can be performed in panes via A11y and Tota11y.
All panes are rendered separately and CPU usage momentarily spikes to 100% when switching tabs. Polypane disguises this as a feature by saying “Those bottlenecks were always there on the testee website, Polypane just enlarges them.” Yet, no significant improvements were noticed while loading a simple HTML page on localhost. Resource hogging features like video, canvas and iframe elements sometimes need to be disabled to keep CPU usage in check.
Working with a large number of panes is difficult on small or medium sized screens. The UI needs a wide screen to use comfortably. Moreover, when caching is not enabled on the website, all panes make independent network requests. This can be an issue with form submits or rate limited APIs. Tabs can not be separated into multiple windows to view multiple URLs.
Polypane is a good product for its intended purpose - local testing of side-by-side windows, but it is not designed for general browser testing, which is the subject of this review. As such, we didn’t select it for a full review.
Responsively is an open source multi-pane browser built using Electron. It has built-in support for popular device sizes and allows adding custom dimensions which makes it is useful for testing responsive web pages. It is possible to install a browser extension (on Firefox, Chrome, and Edge) to send links from the browser to the Responsively app and preview them instantly.
Responsively comes with a live CSS editor and a design mode which makes the process of temporarily applying design rules and updating content easier. It is possible to delete cookies, storage session data, and reset the network cache with the click of a button. Other actions such as throttling the network or loading the website via proxy are also supported. Users can add extensions from the Chrome web store. However, the Responsively developers warn that the extensions may not work as intended.
Unlike Polypane, users can disable event mirroring across the panes and take screenshots of individual panes in bulk. However, in our testing Responsively didn’t capture screenshots until the cursor was hovering over the pane. Similar to Polypane, it is also CPU intensive.
Responsively is designed for responsive web testing - not for automated cross browser testing. As such, we didn’t select it for a full review.
Functionize only supports testing on Chrome and needs an Chrome extension to make tests, which makes it impossible to make tests on any other browser. The dashboard feels unpolished and has a few quirks. For example, at the time of writing, trying to create tests on Firefox opens an empty box which gives very little idea what went wrong, whereas performing the same action on Chrome browser opens the web extension. The dashboard also needs to be refreshed to load changes and updates to tests.
Although Functionize does provide some advanced functionality such as creating web hooks, self healing tests, setting HTTP headers & cookies, it still lacks important functionality such as multiple browser and OS support. As such, we excluded it from our review.
Browsersync is available as a free NPM package which syncs browser states and interactions such as click, scroll, form input and submit on multiple devices in different browsers. Coding skills are required to set it up properly but a few recipes are available which demonstrate basic functionality and can be used as starter templates.
It can be used to host static files and update web pages when any file is updated or can be connected as a proxy to a website already hosted on a server. We like that the code is open source which allows you to write your plugins to extend functionality.
Browsersync does a good job of basic live testing but other tools we reviewed provide far more functionality for browser testing.
Mabl can be installed on Windows, macOS and Debian-based Linux distributions, but requires installation of Chrome to be able to make and execute tests. It can do live testing, headless testing and automated testing on the local machine as well as in the cloud.
It can integrate with CI/CD tools to automate tests as well as with analytics tools such as Segment and BigQuery to gain deeper insights into fail cases and analyze trends. It can do email testing, PDF testing and data driven testing.
At the time of writing, the dashboard did not render properly, especially in dark mode. This leaves a poor impression and looks like it is still in the early stages of development. Failure to test their own dashboard on multiple browsers is strange considering they provide browser testing services.
Mabl is promising, however, it feels like it is still very early and has a lot of rough edges. We hope to revisit this tool in the future.
What is a browser testing tool?
Different browsers implement things differently and some features don’t run on all browsers which in turn affects how someone is viewing the content. This is what a browser compatibility testing tool helps with. Automated browser testing tools are used to test websites and web applications across multiple screen sizes, geographic locations, OS and browser versions.
Browser compatibility testing tools may also offer accessibility testing to check assistive technologies like screen readers.
Quality assurance engineers and software developers use browser testing and debugging tools to make sure their websites and applications work as expected on an acceptable number of web browsers.
How can I test my website in different browsers for free?
What is live/manual browser testing?
Manual testing is performed for newly designed components at least once before automating the test. Test cases for which the requirements are frequently changing or can not be performed by robots (such as solving a CAPTCHA or 3rd party logins) are also executed manually. In live testing, the tester can interact with the website in real time and see how it responds to different inputs.
What is automated browser testing?
Automated testing is performed by a computer either at scheduled intervals or on demand. It is used to quickly test business critical sections of code before deployment to make sure that new changes do not break existing functionality of the web application. Test cases that are time-consuming, repeatedly executed, very tedious or difficult to perform manually are often automated. In automated testing, the tester can see test results only after the execution of the test is complete.
Is automated browser testing the same as load testing?
No, load testing tests the limits of infrastructure where the website is hosted to find out how many users can use the website simultaneously. Automation testing tests whether the content being served to users is correct.
What is data driven testing?
Data driven testing is used to test sections of code which rely on user input. If there are multiple ways a user can complete the task, each of them needs to be tested. Data driven testing is the way to do so. Ideally, test cases are written to ensure that all statements in the program have been executed at least once and that all logical path flows, e.g. if-else blocks and switch statements, have been executed.
Why use a browser testing tool instead of Chrome or Firefox devtools?
Devtools in browsers provide many useful features to test websites whilst in development, particularly early on. The exact features provided vary from browser to browser but some common tools are included in all browsers such as viewing HTML, viewing local storage data/cookies, monitoring network requests and changing viewport sizes. Some browsers also allow detecting memory leaks and accessibility testing. Extensions like React devtools, Vue devtools, etc. can be added to further enhance these testing capabilities.
Specialist browser testing tools provide sophisticated features not available in everyday browsers such as parallel testing, scheduling automated tests, test report generation and integrations with project management tools. In particular, these tools also provide the ability to test on a large number of operating systems, browsers and mobile devices from various regions in the world. This is not possible with just Chrome or Firefox devtools.
Our editorial policy
Why you can trust us
Console is written by developers for developers. Using our decades of experience building software at scale, we apply strict selection criteria to decide which software we feature.
This includes asking questions like “Would this form part of a daily-use set of developer tools?”, “Would this be used by advanced, power-users?” and “Does it have a good graphical and/or command line interface? Shortcuts? Accessibility?”. The more of these questions we can answer positively, the more likely a tool is to be featured.
We do not accept payment for inclusion and where we work with partners, they must fit our selection criteria before we consider working with them.
About the author
Naman Singhal is a technical writer at Console. He has a background in computer science and recently published research into machine learning predictions of software quality at the International Conference on Advanced Computing and Communication Systems.
Console is the place developers go to find the best tools. Each week, our weekly newsletter picks out the most interesting tools and new releases. We keep track of everything - dev tools, devops, cloud, and APIs - so you don’t have to.
Interesting tools by email
Our free weekly newsletter picks out the 2-3 most interesting tools. See the latest email.