Introducing
The Slant team built an AI & it’s awesome
Find the best product instantly
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now
4.7 star rating
0
Development
Web
Testing
What are the best headless browsers for testing?
9
Options
Considered
73
User
Recs.
Jan 29, 2022
Last
Updated
Related Questions
Activity
Have feedback or ideas?
Join our community
on Discord
Ad
9
Options
Considered
Best headless browsers for testing
Price
Supported languages
Integrated Debugger
50
PhantomJS
-
-
-
--
Puppeteer
Free
-
-
--
NW.js (w/xvfb)
-
JS, [third party modules:C#,C++Web Assembly]
SDK version
--
Zombie.js
-
-
-
--
Jsdom
-
-
-
See Full List
50
PhantomJS
My Rec
ommendation
for
PhantomJS
My Recommendation for
PhantomJS
All
8
Pros
4
Cons
4
Top
Con
•••
Deprecated by Puppeteer
PhantomJS is no longer actively maintained by the original authors. Puppeteer is said to be a replacement supported and backed by the Google Chrome team, now.
See More
Top
Pro
•••
Supports screen capture
See More
Top
Con
•••
Heavy setup
You'll often end up having PhantomJS binaries connected via WebDriver to your testing framework, possibly using client/server especially if you want your test running with something else than Java. This means an overhead in terms of maintenance and performance, but still usually lighter than running a full browser (like Chrome, Firefox, IE).
See More
Top
Pro
•••
Used in many open source projects
Including bootstrap, grunt, ember.js, and YUI.
See More
Top
Con
•••
Browser closes unexpectedly
It often happens when running on more then 5 (my measurement) JVM instances that the browser gets stuck and quits unexpectedly. This can be partially solved by running the instances one by one instead of parallel (this is a problem when testing Jenkins and Bamboo agents) but I don't believe this qualifies as a solution. The error is called UnreachableBrowserException.
See More
Top
Pro
•••
Supports many browser standards
PhantomJS has full DOM and CSS parsing, JSON, canvas, and SVG support.
See More
Top
Con
•••
Elements are sometimes not visible
This is an error which occurs with almost no reason, PhantomJS sometimes decides that it cannot click the element even though the element is intractable or enabled. This happens if you have to scroll to see the element (and these are not pages that load elements with JavaScript) which is strange because PhantomJS should catch the whole page if it is not loaded explicitly with JavaScript. This problem partially goes away with re-sizing the browser, but that does not really qualify as a solution. The error it raises is: ElementNotVisibleException.
See More
Top
Pro
•••
Built on WebKit
WebKit is becoming the gold standard for browser compatibility, making it a good starting point for native headless browser testing.
See More
Hide
See All
Get it
here
Recommend
43
4
--
Puppeteer
My Rec
ommendation
for
Puppeteer
My Recommendation for
Puppeteer
All
6
Experiences
1
Pros
4
Cons
1
Top
Pro
•••
Works great with modern node.js features
See More
Top
Con
•••
Not good for Cross Browser Tests
Since it only tests via Chromium, it won't help you test inconsistencies between browsers like Edge or Safari. There are projects to get around this, but they aren't mature.
See More
yGuy's Experience
Improved official successor to PhantomJS
See More
Top
Pro
•••
Runs a real browser
Unlike the other options here, this is a real browser, just without the GUI parts. This means the quality of the test is much higher, and lets you do things like save to PDF or images.
See More
Top
Pro
•••
Actively developed and promoted by Google
See More
Top
Pro
•••
Complete API for Chromium included
Chromium tests depend on the same API that Puppeteer gives you access to, so all the features are included
See More
Hide
See All
Free
Recommend
6
--
NW.js (w/xvfb)
My Rec
ommendation
for
NW.js (w/xvfb)
My Recommendation for
NW.js (w/xvfb)
All
4
Pros
2
Cons
1
Specs
Top
Pro
•••
Node integration
The integration of Node with the DOM in NW.js opens up a number of new options in how your headless testing workflow can be facilitated. The distinct separation of JavaScript contexts, the introduction of a separate node context, and the ability to cross communicate, offers a lot of power and flexibility.
See More
Top
Con
•••
xvfb Requirement (for now)
Headless is on the NW.js roadmap, but for now xvfb is necessary to get going. The community has done the work and you can find the details here.
See More
Specs
Supported languages:
JS, [third party modules:C#,C++Web Assembly]
Integrated Debugger:
SDK version
Top
Pro
•••
NaCl support/integration
Access to the Native Client offers up more options in implementing your testing workflow.
See More
Hide
See All
Get it
here
Recommend
4
--
Zombie.js
My Rec
ommendation
for
Zombie.js
My Recommendation for
Zombie.js
All
7
Pros
3
Cons
4
Top
Pro
•••
Runs on Node.js
Zombie is built on node.js, making it very easy to integrate with your project and into your testing toolchain. It only requires JavaScript to run.
See More
Top
Con
•••
Support has waned
As of August 19, 2016, Zombie hasn't received a commit since January 2016. Issues get comments like "patch welcome".
See More
Top
Pro
•••
Fully featured api based interaction and assertion
The way the api is built makes it very easy to add to your test framework.
See More
Top
Con
•••
Stale documentation
Full API documentation has been missing since the start, making it frustrating to use.
See More
Top
Pro
•••
Claims to be "Insanely Fast"
It's a lot faster than fully fletched browsers and a lot lighter. Partly because it really only focuses on headless loading of pages along with their JavaScript (not taking really care of rendering or more visual resources).
See More
Top
Con
•••
Fails to load many sites
As its JavaScript and DOM engine are mostly "just good enough" and because by design it'll report all errors and stop there, many complex sites will not load properly through Zombie.js.
See More
Top
Con
•••
No screen-shot
As it doesn't render the page, you cannot get a screenshot to for testing or reporting test failures.
See More
Hide
See All
Get it
here
Recommend
6
1
--
Jsdom
My Rec
ommendation
for
Jsdom
My Recommendation for
Jsdom
All
8
Experiences
1
Pros
4
Cons
3
Top
Pro
•••
Works well with Jest
See More
Top
Con
•••
You can't test visual sizes like height, margin etc.
See More
Baris Bikmaz's Experience
Fast way to test JavaScript applications.
See More
Top
Pro
•••
Works well with Node
See More
Top
Con
•••
Not cross browser
See More
Top
Pro
•••
Pure JavaScript
See More
Top
Con
•••
Very poor SVG support
The SVG implementation stubs are very basic and most of the JavaScript DOM API is missing. This means that any non-trivial JavaScript code dealing with JavaScript will not break in this environment and needs to be stubbed.
See More
Top
Pro
•••
Fast
See More
Hide
See All
Get it
here
Recommend
2
--
Selenium
My Rec
ommendation
for
Selenium
My Recommendation for
Selenium
All
9
Pros
7
Cons
2
Top
Pro
•••
Support for many languages
Selenium supports a variety of languages including Java, Python, PHP, C#, Ruby and JavaScript ensuring that the tool is easily accessible to a wide variety of developers.
See More
Top
Con
•••
Issues with locators
Locators that support common attributes like: name, id, XPATH, javascriptDOM, etc. have to be found through firebugs.
See More
Top
Pro
•••
Integrates well with existing testing frameworks
See More
Top
Con
•••
The IDE for recording isn't too powerful
See More
Top
Pro
•••
You can use the same IDE you use for coding to debug
See More
Top
Pro
•••
Actively supported
The open source community behind Selenium has a very large & engaged developer base. This ensures a stable support channel for the tool. In addition, various companies also provide support for Selenium. This active and multi-channel support provides a much more lucrative option for developers looking to implement Selenium in their workflow.
See More
Top
Pro
•••
Cross-browser
Supports many browsers and a solid platform for adding future browsers to selenium (WebDriver)
See More
Top
Pro
•••
Uses an approved WC3 standard - WebDriver
The WebDriver protocol is standardized by the World Wide Web Consortium which makes it easy for third-parties to get involved and contribute to Selenium. WebDriver has been the foundation of many additional automation projects besides core selenium and has become the de-facto standard for UI automation.
See More
Top
Pro
•••
Integrates with any CI tool
Selenium, with its ability to interact with different testing frameworks, like NUnit or xUnit, makes it easy to get Selenium working with practically any Continuous Integration services.
See More
Hide
See All
Get it
here
Recommend
1
--
Katalon Studio
My Rec
ommendation
for
Katalon Studio
My Recommendation for
Katalon Studio
All
6
Pros
3
Cons
2
Specs
Top
Pro
•••
Valuable Features
See More
Top
Con
•••
Not free anymore
See More
Specs
Platforms:
Windows, Linux, Mac
Top
Pro
•••
CI tools
CI tools available for e.g. Jenkins and Teamcity.
See More
Top
Con
•••
Not for desktop applications
Currently Katalon Studio supports Web, Mobile, and API automation testing.
See More
Top
Pro
•••
SOAP and REST
Supports both SOAP and REST testing.
See More
Hide
See All
Paid
Recommend
2
--
xvfb
My Rec
ommendation
for
xvfb
My Recommendation for
xvfb
All
3
Pros
1
Cons
2
Top
Con
•••
xvfb is no browser
See More
Top
Pro
•••
You can launch REAL browser using xvfb
Just test in real-world browser - xvfb makes it possible to launch them without the real screen.
See More
Top
Con
•••
Problem with ports
If you are running multiple instances on some browser and you use xvfb to run instances on agents on Bamboo or Jenkins you will potentially have a problem with using ports. The first instance you are starting takes on a port on the agent and then the second instance that would be run doesn't have a port to go to. You can partially solve the problem by dynamically assigning the next available port to the new instance that comes to be executed. This only works if we assume that all the instances start in different time intervals, but what you cannot know is which instance is going to get a port first if they start at the same time, then the instances will crash, those that started at the same time.
See More
Hide
See All
Get it
here
Recommend
1
2
--
HeadlessTesting
My Rec
ommendation
for
HeadlessTesting
My Recommendation for
HeadlessTesting
Hide
Get it
here
Recommend
1
Don't see your favorite option? Add it.
Built By the Slant team
Find the best product instantly.
4.7 star rating
Add to Chrome
Add to Edge
Add to Firefox
Add to Opera
Add to Brave
Add to Safari
Try it now - it's free
One sec!
Are you sure that you want to abandon your hard work?
Delete Work
Continue working
{}
undefined
url next
price drop