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
What is the best alternative to Zombie.js?
Ad
Ad
Puppeteer
All
5
Experiences
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
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
Free
30
2
PhantomJS
All
8
Experiences
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
Experiences
Get it
here
47
5
CasperJS
All
7
Experiences
Pros
5
Cons
2
Top
Pro
Allows screenshots (either the full page or parts of it) if performing UI testing
There are times where you don't want to open up a browser for screencaps, that is where CasperJS comes to use, it can render the page using its own rendering engine and take and save a screenshot for you, all via the commandline
See More
Top
Con
Not for unit testing but rather UI testing
These are two extremely different concepts. CasperJS should be removed from this list
See More
Top
Pro
Easy to understand
See More
Top
Con
Cannot guarantee 100% accurate Webkit-based browser screenshots
QtWebKit is the rendering engine used by CasperJS. Keep in mind this is NOT the same rendering engine as Chrome; hence, if you want to be 100% sure of the results, you must run a Webkit browser (such as Chrome) yourself.
See More
Top
Pro
Written in JavaScript
Since all webdevs know JS, the start-up time of learning the framework will be reduced to zero, as your team can be productive from day one.
See More
Top
Pro
Easily integrates with other applications
Due to the simplicity of the framework, not only other libraries can be built with it, but it can be integrated with any web application as well.
See More
Top
Pro
Can run javascript code inside pages being tested
Can execute arbitrary javascript or load external JS into the page being tested. This feature is possible due to the presence of a rendering engine, and helps you see the effects of any client side scripting during your tests.
See More
Hide
See All
Experiences
Get it
here
15
3
NW.js (w/xvfb)
All
4
Experiences
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
Top
Pro
NaCl support/integration
Access to the Native Client offers up more options in implementing your testing workflow.
See More
Specs
Supported languages:
JS, [third party modules:C#,C++Web Assembly]
Integrated Debugger:
SDK version
Hide
Get it
here
18
0
BugBug.io
All
3
Experiences
Pros
3
Top
Pro
Reusable components
You are able to group the steps in tests into reusable components to manage and repair them easier. As a bonus, you can see all test flows on a single project graph.
See More
Top
Pro
Great UI & UX
A design for a high efficiency
See More
Top
Pro
Debuggability
You can run tests and debug directly from a Chrome browser, where you have access to DevTools.
See More
Hide
€0 ; €69 ; €149 ; €299
5
0
Nightwatch.js
All
6
Experiences
Pros
4
Cons
2
Top
Pro
You don't have to choose a testing framework
Nightwatch solves the Paradox of Choice among testing frameworks such as Jasmine, Cucumber or Mocha+Chai, by including its own BDD-style assertion library, based on Chai.
See More
Top
Con
No official BDD-style syntax support
See More
Top
Pro
Includes its own testing framework / assertions library
See More
Top
Con
Includes its own testing framework / assertions library
Unlike WebdriverIO, which lets you use various test frameworks and assertion libraries (e.g. Jasmine, Cucumber, Mocha + Chai), Nightwatch comes with its own BDD-style interface for performing assertions, based on Chai. Here's a simple test example: module.exports = { 'Demo test Google' : function (browser) { browser .url('http://www.google.com') .waitForElementVisible('body', 1000) .setValue('input[type=text]', 'nightwatch') .waitForElementVisible('button[name=btnG]', 1000) .click('button[name=btnG]') .pause(1000) .assert.containsText('#main', 'Night Watch') .end(); } };
See More
Top
Pro
Test organization is out of the box
Supports page object model, custom commands, custom assertions, and globals.js.
See More
Top
Pro
3rd party integration with Cucumber
Though Cucumber is not officially supported, Nightwatch can be used with Cucumber.
See More
Hide
Get it
here
31
3
WebdriverIO
All
13
Experiences
Pros
10
Cons
3
Top
Pro
Works with any testing framework or assertion library
WebdriverIO lets you use your favorite testing framework (Jasmine, Mocha, Cucumber) and assertion library (Chai for Mocha). Other projects implement their own testing and assertion APIs, for example Nightwatch, Intern. It should be mentioned though that v4.2.16 has an incompatibility with at least tap v7.1.2: stdout/stderr written during a run gets lost.
See More
Top
Con
Must run with WDIO to debug
Tasks written in this beautiful Selenium API can only be debugged using the provided WDIO task runner. You can't set breakpoints within tasks, but you can have WDIO pause the run between Selenium commands.
See More
Top
Pro
Used by Chimp.js
Chimp.js, is an emerging web application test framework that implements easy sync tests using WebdriverIO, CucumberJS and Chai. Features include: synchronous style built-in "widget framework" (an implementation of the PageObject pattern) automatically downloads dependencies (ChromeDriver, PhantomJS etc.) works with SauceLabs and BrowserStack (CrossBrowserTesting TBD) automatically takes screenshots on failures works on Windows in addition to Linux and OS X automatically produces boilerplate code for step definitions, which you can copy, paste and edit file watcher reuses the browser sessions and can run only the tests you tag, to maximize development speed
See More
Top
Con
Selenium server must be started independently
selenium-webdriverjs starts the Selenium server automatically, and actually manages to achieve a faster startup time (4 seconds vs. 5.5) than WebdriverIO.
See More
Top
Pro
Excellent API documentation
See More
Top
Con
Have no docs for latest version (4.0.5)
See More
Top
Pro
Synchronous implementation of asynchronous browser commands
So you don't need to worry about promises
See More
Top
Pro
Config file generation wizard
Run wdio config and WebdriverIO will generate a config file for testing locally vs. in the cloud, specifying the test framework (Jasmine, Cucumber, Mocha), where to find tests and store screenshots etc.
See More
Top
Pro
Allows you to do visual regression tests using WebdriverCSS
WebdriverIO has a plugin called WebdriverCSS that allows you to do cross visual platfrom/browser tests with an integration to Applitools.
See More
Top
Pro
Provides plugins for gulp, grunt and other
WebdriverIO is accessible via gulp and grunt and even has a Sublime Text plugin for autocompletion.
See More
Top
Pro
Simpler syntax than selenium-webdriverjs and WD.js
selenium-webdriverjs: driver.get('http://www.google.com'); driver.findElement(webdriver.By.id('q')).sendKeys('webdriver'); driver.findElement(webdriver.By.id('btnG')).click(); WD.js: browser .get("http://www.google.com") .elementById('q') .sendKeys('webdriver') .elementById('btnG') .click() WebdriverIO: client .url('http://google.com') .setValue('#q','webdriver') .click('#btnG')
See More
Top
Pro
Used by Meteor's Velocity test runner
If you develop web applications with Meteor.js, you might want to use the xlovio:webdriver wrapper, because it's the Selenium binding behind the preferred testing framework (Chimp) promoted by the Velocity (Meteor's official testing framework) team for using BDD via Cucumber.
See More
Top
Pro
Selenium Server need not be started independently
Service is provided by WebdriverIO which over comes the con of starting selenium server independently. Reference: http://webdriver.io/guide/services/selenium-standalone.html
See More
Hide
See All
Experiences
Get it
here
40
9
QUnit
All
4
Experiences
Pros
3
Cons
1
Top
Pro
Tests run in the order they're added to the suite
In cases where you want (I know your test cases must be atomic) where you really really want your test cases to run in a specific order, maybe if the current one rely on those of previous case, you can use Qunit by setting QUnit.config.reorder = false and your test cases will run in the order you've provided.
See More
Top
Con
Testing of Async operations can be a little tough at times.
Qunit, expects us to call the start() function before the Async function itself, and stop() after it stops. This can be a problem when you have no way of knowing, when your function will start or stop (your testing a number of dependent functions)
See More
Top
Pro
Works really well if performing DOM Testing
All frontend developers already know the ease that jQuery framework has brought to their lives, in handling DOM events and accessing elements. Since Qunit was built as a part of jquery (is even used by jQuery itself for unit testing) hence it makes testing of DOM elements a lot easier.
See More
Top
Pro
Extremely easy to start from scratch
Seriously! All you have to do is include the Qunit library from the CDN, then create your Testcases js file, and RUN IT! . Your outputs would be displayed in a pretty little format in your browser.
See More
Hide
Get it
here
8
5
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
{}
undefined
url next
price drop