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 WebdriverIO?
Ad
Ad
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
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
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
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
Endtest
All
13
Experiences
Pros
9
Cons
4
Top
Pro
Codeless automated testing
Endtest allows you to create automated tests for web applications, directly on their cloud infrastructure. No coding skills are required. You can also choose the action "Execute Javascript" for a more flexible test run.
See More
Top
Con
Doesn't support a wide array of browsers and/or operating systems
Because it's still in its infancy, it doesn't yet have a huge variety of browsers and operating systems.
See More
Top
Pro
Running your automated tests on their cloud infrastructure
You can easily run your automated tests on their platform, just by clicking the run button.
See More
Top
Con
Free plan has limited time storage for test suites
If you are using the free plan, keep in mind that the test suites created there are scheduled to be deleted after around 2 weeks. Endtest will send you a notification email the day before mentioning "Test suites from users who are not on the PRO Plan get automatically deleted after some time," and offering for you to upgrade to PRO.
See More
Top
Pro
Designed for Continuous Integration
It has an API which allows testers to run it on Jenkins or Team City. Other than that, it has a built-in test scheduler to allow testers to preset test executions.
See More
Top
Con
Codeless and locks you in rendering your efforts useless if you want to switch
See More
Top
Pro
Now supports mobile testing
Endtest has added a new feature which now supports mobile testing for both Android and iOS (.apk and .ipa).
See More
Top
Con
Bad UI
See More
Top
Pro
Option to export your automated tests in different formats, including .EXE
You can export your automated tests in a variety of different formats, and run them on your own infrastructure. The formats are either in Python file format or executable file format (.EXE).
See More
Top
Pro
Now supports a wider variety of browsers, operating system and devices
As of March 2018, Endtest can now support multiple platforms (Windows, MAC, Android and iOS), Operating Systems, and more than a handful of devices for both Android and iOS.
See More
Top
Pro
Super fast and affordable.
See More
Top
Pro
Premium version is relatively cheaper than most in the market
Their pricing plan ($79/month or $650/year) includes team plan upgrade, which means the whole team, regardless of the number of users, will only need to subscribe to the $79/month or $650/year plan. This includes unlimited test runs, test exports, recordings, etc.
See More
Top
Pro
It's mostly free to use
The free plan covers a lot, you can have up to 3 test suites, and you can run your automated tests as many times as you want. The pro plan includes some very advanced options that you might need only if you're working with a team (for example, the collaboration feature, schedule test run, API for Jenkins, etc.).
See More
Hide
See All
Experiences
Free
41
13
Leadfoot -> Intern
All
11
Experiences
Pros
9
Cons
2
Top
Pro
Extensive, clear documentation
The documentation starts by describing what Intern is, what it's good for, who it's good for, its terminology, and continues with a tutorial.
See More
Top
Con
Intern has no Cucumber support yet
Leadfoot can be used standalone though.
See More
Top
Pro
Used by big players
Intern is used by big companies such as IBM, Intuit and Mozilla.
See More
Top
Con
May be overkill for small apps
Intern is a complete testing framework that's designed to work well for enterprise applications. For small projects, the complexity of Intern can be unnecessary.
See More
Top
Pro
JS Foundation project
Intern (and Leadfoot) is a JS Foundation project. The JS Foundation is sponsored by IBM, Samsung, and other industry leaders.
See More
Top
Pro
Comparisons available with Jasmine, Mocha, Karma, QUnit, Nightwatch, BusterJS
A project that compares itself with prior art has done its homework.
See More
Top
Pro
Continuous Integration support
See More
Top
Pro
Very well documented release history
Compare the Intern releases with those from Nightwatch, let alone WD.js
See More
Top
Pro
Built-in support for source maps
The built-in support for source maps allows you to easily track issues to the original source files.
See More
Top
Pro
Integrates with cloud hosted cross-browser testing services
Can integrate with cloud hosting services from BrowserStack, Sauce Labs and TestingBot.
See More
Top
Pro
Always uses Promises
Since it always uses Promise objects every time an asynchronous operation needs to occur, the test system pauses until that Promise object is resolved, or until a timeout occurs. Suite, test and reporter functions can return a Promise.
See More
Hide
See All
Experiences
Get it
here
5
0
webdriver-sync
All
3
Experiences
Pros
2
Cons
1
Top
Con
Difficult to install on Windows
Due to the dependencies for installing on Windows, the process can be tedious (Requires Python 2.7 and Visual Studio).
See More
Top
Pro
Synchronous. No promises or callbacks needed.
webdriver-sync avoids this browser.get("http://foo.html", function() { browser.title(function(err, title) { assert.ok(~title.indexOf('foo title'), 'Wrong title!'); browser.elementById('i am a link', function(err, el) { browser.clickElement(el, function() { browser.eval("window.location.href", function(err, href) { assert.ok(~href.indexOf('foo title 2')); browser.quit(); }); }); }); }); }); in favor of this - completely synchronous API! No promises or callbacks needed: driver.get("http://foo.html"); title = driver.getTitle(); link = driver.findElement(By.id('i am a link')); link.click(); assert(driver.getCurrentUrl().indexOf('foo title 2') > -1); title.should.equal('foo title'); console.log(title); driver.quit();
See More
Top
Pro
Same API as Selenium Java
If you've used the Selenium API before, you won't have to learn a new API.
See More
Hide
Get it
here
4
0
Cypress
All
7
Experiences
Pros
4
Cons
3
Top
Pro
Web UI to develop tests quickly
You can edit your test code in the browser and instantly see it run as you change the code.
See More
Top
Con
Doesn't support Safari
See More
Top
Pro
Easy to record a video
It can easily record a video so you can understand what happened when a test failed in your CI.
See More
Top
Con
Single tab only
Does not and will not support multiple tabs or multiple simultaneous browsers. See https://docs.cypress.io/guides/references/trade-offs.html#Permanent-trade-offs-1
See More
Top
Pro
Amazing dashboard to view reports and recordings
The Cypress dashboard allows you to see every run on a great UI linked to commits and gitflow.
See More
Top
Con
Heavy in setup
Do not add Cypress in the main repo. Have a specific test repo for it or you will be sorry when the CI/CD flow takes 5-6 min longer every build due to installation time of Cypress.
See More
Top
Pro
Cross Browser testing
https://docs.cypress.io/guides/guides/cross-browser-testing.html Chrome Firefox Edge Electron Brave
See More
Hide
See All
Experiences
Get it
here
59
8
Zombie.js
All
7
Experiences
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
Experiences
Get it
here
7
3
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
WD.js
All
3
Experiences
Pros
1
Cons
2
Top
Pro
Cleaner and more concise code than WebdriverJS
There is no need to pass the 'driver' instance around, and not as many parentheses. Using WD.js function login(username, password) { return this .waitForElementByCss('.loginForm', asserters.isDisplayed, seconds(explicit_wait)) .elementById('emailAddress').sendKeys(username) .elementById('password').sendKeys(password) .elementById('signInButton').click() } Using WebDriverJS function login(driver, username, password) { driver.wait(until.elementIsVisible(driver.findElement({css: '.loginForm'})), seconds(explicit_wait)); driver.findElement({id: 'emailAddress'}).sendKeys(username); driver.findElement({id: 'password'}).sendKeys(password); driver.findElement({id: 'signInButton'}).click(); }
See More
Top
Con
Dropped by Intern
Intern v1 used WD.js, but they dropped it in favor of developing Leadfoot.
See More
Top
Con
Less activity than WebdriverIO
WebdriverIO issues: 34 open, 507 closed. First release May 2012 at v0.6 WD.js issues: 18 open, 216 closed. First release: April 2011
See More
Hide
Get it
here
1
3
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