Need advice about which tool to choose?Ask the StackShare community!
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.
Pros of Karma
- Test Runner61
- Open source35
- Continuous Integration27
- Great for running tests22
- Test on Real Devices18
- Backed by google11
- Easy Debugging5
- Remote Control2
Pros of Nightwatchjs
- Open source3
- Testing2
- Automates browsers2
- Better cross browser (use selenium)1
- Cross-Browser Testing1
- Multiple Browser Support1
- Parallel Test Running1
Sign up to add or upvote prosMake informed product decisions
Cons of Karma
- Slow, because tests are run in a real browser1
- Requires the use of hacks to find tests dynamically1
Cons of Nightwatchjs
- No automatic wait2