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 CasperJS?
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
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
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
Jasmine
All
6
Experiences
Pros
5
Cons
1
Top
Pro
Behaviour Driven Development focused
If you prefer your test cases and applications to be developed from the perspective of your stake holders, Jasmine is the framework for you.
See More
Top
Con
Maintainers are not very responsive to pull requests
Pivotal aren't responsive to pull requests, though they have made repo changes within < 3 months
See More
Top
Pro
Easy to find Jasmine tutorials for most MV* frameworks,
whilst Mocha is still considered the new kid on the block.
See More
Top
Pro
Has a very readable and user-friendly syntax
Code readability is an important factor, if the application development involves multiple teams; if the testing team is unable to read your test cases then they won't be able to test it. Jasmine resolves this issue by providing developers with an extremely simple and "human-friendly" syntax.
See More
Top
Pro
Allows both DOM-less as well as asynchronous testing
If you have some test cases that do not involve testing of DOM elements or events, those are exactly the ones where you want to use Jasmine. It'll provide smooth, simple and easy DOM-less testing of those test cases.
See More
Top
Pro
Integrates very well with Ruby on Rails
The jasmine-rails gem allows you to run Jasmine specs in a browser (powered by Rails engine mounted into your application).
See More
Hide
Get it
here
50
9
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
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
tape
All
5
Experiences
Pros
4
Cons
1
Top
Pro
Simple API
Very simple API that doesn't require globals, or monkey patching objects for assertions.
See More
Top
Con
No concurrency
Cannot run async test cases concurrently for faster test builds.
See More
Top
Pro
Built-in assert
This way you don't have to add more dependencies and external assertion libraries.
See More
Top
Pro
No global functions
Tape does not use global methods such as "it", "describe", since they are not considered best practice in JavaScript.
See More
Top
Pro
It follows the principles of TAP
TAP: Test Anything Protocol
See More
Hide
Get it
here
40
2
Mocha
All
9
Experiences
Pros
7
Cons
2
Top
Pro
Supports different assertion libraries
Mocha runs independently from the assertion library, so you can choose which assertion format works best for you. Mocha most often is run in combination with assertion library Chai.
See More
Top
Con
Can be intimidating for beginners
While some testing frameworks are complete out of the box, Mocha requires developers to select and set up assertion libraries and mocking utilities. For someone who is just starting to learn how to build tests this can be scary as they will also have to choose which libraries to use and learn them too.
See More
Top
Pro
Write tests with Behavior Driven Development (BDD)
Allows developers to choose their development process. Not only TDD but also BDD.
See More
Top
Con
No atomic tests
Tests cannot be ran in random order.
See More
Top
Pro
Runs in Node.js and the browser
Mocha has a browser build as well as a node command line program so you can test in client and server side environments.
See More
Top
Pro
Makes Asynchronous testing extremely easy
No need to write tricky statements for Async testing. Mocha gives you a done callback. Place this done parameter in your callback function, that'll let Mocha know that you've written an asynchronous function.
See More
Top
Pro
Integrates really well with NodeJS
The Mocha test framework itself runs on NodeJS, hence it makes everything related to it extremely simple. With Mocha's simple syntax and speed, testing your node.js app just got a whole lot easier.
See More
Top
Pro
Custom full color test reporters
Mocha has multiple test reporters built in and you can create your own as well. The test reporters have full color and makes it easy to see if your tests fail or not.
See More
Top
Pro
Easy to add support for Generators
Aside from the numerous benefits with generators in your application, You can now also integrate generators into your test suite. By using mocha, all you have to do is enable support for generators.
See More
Hide
See All
Experiences
Get it
here
110
6
BusterJS
All
6
Experiences
Pros
4
Cons
2
Top
Pro
Supports deferring tests
No need to comment out your entire test case, now that you have Buster, which supports deferring a test so it doesn't actually run, but you get notified that there’s a deferred tests every time you run your test suite.
See More
Top
Con
Has no plugins for major IDE's (Eclipse/IntelliJ) yet.
Do you prefer running your test cases from inside your IDE? well BusterJS will make that a lot difficult for you if not impossible. You'll have to run Buster using the good old way of spawning up a new terminal for running the tests.
See More
Top
Pro
Flexible; extend it to wrap other test-frameworks
Have your test cases written in another framework, want to use BusterJS to run the tests, then you're in luck. BusterJS can be easily wrapped around other test frameworks. If you need to know how to do it, here's a link that showing just that.
See More
Top
Con
Currently still in Beta; some of the stuff still has bugs
Time of writing : 31st July 2014
See More
Top
Pro
Has support for NodeJS testing.
Working on a NodeJS app? BusterJS can help you Unit test it. This pretty much works just like browser tests, but you need to require Buster.JS in your tests.
See More
Top
Pro
You have the option of either running tests headless or via the browser
Don't have time to go through the lengthy process of opening up your browsers? BusterJS gives you the option of performing Headless tests. These are powered by PhantomJS; hence all your testing is done within the command line.
See More
Hide
Get it
here
2
0
Browsersync
All
12
Experiences
Pros
11
Cons
1
Top
Pro
Works concurrently across multiple devices
It is not constrained to a single device, it works across desktop and mobile devices at the same time. It will update code changes, synchronize scroll positions and form inputs automatically across all browsers and devices.
See More
Top
Con
Setting up in Windows can be a little tricky
Sometimes when setting up BrowserSync in Windows some errors will pop up. Most of the time this is because npm throws errors when trying to compile BrowserSync and some of the dependencies need Visual C++ runtime libraries. This is easily solvable by installing Visual Studio. Once it's installed, there should not be any more problems.
See More
Top
Pro
Synchronized form field input
When filling out a form in one browser, same information will be repeated in other browsers.
See More
Top
Pro
Works with basically every desktop and mobile browser
Browser-Sync has been tested to work with desktop (Chrome, Firefox, IE 7-10, Safari, Opera) and mobile (Android, iOS, Windows Phone, Opera Mobile, Firefox Mobile) browsers.
See More
Top
Pro
Cross-platform
Works on Windows, Linux and OS X.
See More
Top
Pro
CSS injection
Once the monitored .css file is saved, changes are implemented without a refresh.
See More
Top
Pro
Free and open source
Licensed under MIT.
See More
Top
Pro
Remembers scroll position
Remembers scroll position and synchronize it across all browsers so you don't have to move to the appropriate part of the page after each reload.
See More
Top
Pro
Works as a standalone npm package or as a Grunt plugin
To install as a standalone npm package npm install -g browser-sync To install as a grunt-plugin npm install grunt-browser-sync
See More
Top
Pro
Synchronized navigation
When navigating in one browser, other browsers will automatically follow to the same place.
See More
Top
Pro
Doesn't require a browser plugin
BrowserSync does not require a browser plugin to be installed. This is because it serves the files directly itself, and uses a script which opens a socket between the browser and the server.
See More
Top
Pro
Works with older versions of IE
Browser-Sync works with all supported IE versions - IE7 and up.
See More
Hide
See All
Experiences
Get it
here
48
6
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
Karma
All
7
Experiences
Pros
5
Cons
2
Top
Pro
Easily extensible
Do you prefer other test frameworks such as Mocha, Jasmine, qUnit or any other framework? Well you're in luck as Karma can be easiliy be extended to wrap around ANY framework of your choice.
See More
Top
Con
No Support for NodeJS testing
Currently Karma doesn't support testing of apps built on NodeJS. So if you have a node app, you don't want to use Karma, Mocha or Jasmine can do the job for you.
See More
Top
Pro
Provides both Browser based testing as well as headless tests
Karma eases out the UI testing process as you can test your code on all your devices let it be smartphones, tablets or your very own desktop. If you don't want all of that, you always have the option of headless testing using a PhantomJS instance.
See More
Top
Con
No plugin for Eclipse (yet)
Do most of your code using Eclipse, well, you're in bad luck. Karma doesn't have an eclipse plugin, though if you are a real die hard eclipse fan, you can see this little hack to be able to run Karma from inside Eclipse Link (Time of writing: July 2014)
See More
Top
Pro
Provides the option of running client/servers either separately or on the Development computer
These options are really helpful in cases, where you have the luxury of multiple machines (tablets, mobile phones desktops) around you.
See More
Top
Pro
You can test your code in cross browser environments
Being able to test your code directly via your testing tool is a breeze! You don't need to download a fancy tool to see how your app looks in a number of different browsers, now that Karma would do the job for you.
See More
Top
Pro
Has plugins for WebStorm and is supported by the Netbeans IDE
Thanks to Karma, you won't need to spawn up a new terminal just so that you can test your app, you can now code and test right from the IDE
See More
Hide
See All
Experiences
Get it
here
5
4
Ghostlab
All
8
Experiences
Pros
6
Cons
2
Top
Pro
Can be used without additional software on any browser
Doesn't need any additional software or browser extensions to be installed on any device. If every device is pointed to the IP address that it provides it will automatically reload that page on every file change.
See More
Top
Con
No Linux version
Ghostlab is available only for Windows and Mac, there is no Linux version. At least for the time being.
See More
Top
Pro
Testing page preset with a lot of useful information
Ghostlab offers a testing page which when opened displays a lot of useful information. Such as, but not limited to: viewport width and height, user agent string, pixel ratio etc...
See More
Top
Con
Not free
Ghostlab is proprietary and not free. It costs $49. Though there is a free 7-days trial.
See More
Top
Pro
Synchronizes scrolls, clicks, reloads and form input across all connected clients
Every time the page is reloaded on a device, it's automatically reloaded on every other device connected. It also registers scrolls, form inputs and clicks across different devices and automatically synchronizes them to each connected device.
See More
Top
Pro
Cross-browser and cross-device live reloading
Ghostlab offers developers the opportunity to test their site in multiple browsers and devices at the same time. Once the Ghostlab server is deployed, it offers an IP address running on port 8080 which automatically reloads on every file change.
See More
Top
Pro
Easy setup
Setting up GhostLab is very easy, by simply dragging a URL or a local folder it creates automatically a new site entry and is ready to work. It can then be named or choose the specified file extensions that need to be watched.
See More
Top
Pro
Remote inspection of code on different devices.
Ghostlab utilizes weinre, an open-source remote debugger to remotely inspect the code on different devices. By double clicking the device name that needs to be inspected, and clicking the 'Debug' button, Ghostlab opens a Chrome inspector which can inspect any item in the page of the device and manipulate the CSS and HTML.
See More
Hide
See All
Experiences
$49
12
27
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