Need advice about which tool to choose?Ask the StackShare community!

Karma

1.3K
542
+ 1
179
Nightwatchjs

137
253
+ 1
6
Add tool

Karma vs Nightwatchjs: What are the differences?

Developers describe Karma as "Spectacular Test Runner for JavaScript". Karma is not a testing framework, nor an assertion library. Karma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework. So for testing purposes you can use pretty much anything you like. On the other hand, Nightwatchjs is detailed as "Automated testing and continous integration framework based on node.js and selenium webdriver". Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements.

Karma and Nightwatchjs can be primarily classified as "Browser Testing" tools.

Some of the features offered by Karma are:

  • Test on Real Devices
  • Remote Control
  • Testing Framework Agnostic

On the other hand, Nightwatchjs provides the following key features:

  • e2e
  • test
  • javascript

Karma and Nightwatchjs are both open source tools. It seems that Karma with 10.7K GitHub stars and 1.61K forks on GitHub has more adoption than Nightwatchjs with 9.38K GitHub stars and 917 GitHub forks.

According to the StackShare community, Karma has a broader approval, being mentioned in 119 company stacks & 57 developers stacks; compared to Nightwatchjs, which is listed in 16 company stacks and 4 developer stacks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Karma
Pros of Nightwatchjs
  • 60
    Test Runner
  • 34
    Open source
  • 27
    Continuous Integration
  • 22
    Great for running tests
  • 18
    Test on Real Devices
  • 11
    Backed by google
  • 5
    Easy Debugging
  • 2
    Remote Control
  • 2
    Testing
  • 2
    Automates browsers
  • 1
    Better cross browser (use selenium)
  • 1
    Open source

Sign up to add or upvote prosMake informed product decisions

Cons of Karma
Cons of Nightwatchjs
  • 1
    Slow, because tests are run in a real browser
  • 1
    Requires the use of hacks to find tests dynamically
  • 2
    No automatic wait

Sign up to add or upvote consMake informed product decisions

What is Karma?

Karma is not a testing framework, nor an assertion library. Karma just launches a HTTP server, and generates the test runner HTML file you probably already know from your favourite testing framework. So for testing purposes you can use pretty much anything you like.

What is Nightwatchjs?

Nightwatch.js is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Karma?
What companies use Nightwatchjs?
See which teams inside your own company are using Karma or Nightwatchjs.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Karma?
What tools integrate with Nightwatchjs?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Karma and Nightwatchjs?
Jasmine
Jasmine is a Behavior Driven Development testing framework for JavaScript. It does not rely on browsers, DOM, or any JavaScript framework. Thus it's suited for websites, Node.js projects, or anywhere that JavaScript can run.
Jest
Jest provides you with multiple layers on top of Jasmine.
Mocha
Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.
Protractor
Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
Selenium
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
See all alternatives