serenity-js - A node

  •        50

Serenity/JS is a node.js library designed to make acceptance and regression testing of modern web applications faster, more collaborative and easier to scale. Although Serenity/JS provides strong support for automating web tests using Protractor and Webdriver, it works very effectively for non-web tests too! Those include tests that exercise web services or even call application code directly.



Related Projects

CodeceptJS - Modern Era Acceptance Testing Framework for NodeJS

  •    Javascript

And more to come... CodeceptJS is a successor of Codeception, a popular full-stack testing framework for PHP. With CodeceptJS your scenario-driven functional and acceptance tests will be as simple and clean as they can be. You don't need to worry about asynchronous nature of NodeJS or about various APIs of Selenium, PhantomJS, Protractor, etc, as CodeceptJS unifies them and makes them work as they were synchronous.

Protractor - End to End test framework for Angular apps

  •    Javascript

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.

mochify.js - ☕️ TDD with Browserify, Mocha, Headless Chrome and WebDriver

  •    Javascript

Browserifies ./test/*.js, decorated with a Mocha test runner, runs it in Headless Chrome and passes the output back to your console. Cleans up your stack traces by mapping back to the original sources and removing lines from the test framework.For proxy settings and other environment variables, see the Puppeteer documentation.

chimp - Develop acceptance tests & end-to-end tests with realtime feedback

  •    Javascript

An awesome developer-centric experience to writing tests with realtime feedback using Mocha, Jasmine or Cucumber.js. Chimp can be used with any technology stack as it allows your to write your test automation in the language of the web: JavaScript.

Hardy - Selenium-driven, cucumber-powered CSS testing.

  •    Javascript

This is almost entirely working but not 100%. If you spot a problem, please file an issue. Hardy is a collection of CSS testing steps and a boilerplate testing setup to get you up-and-running with automated CSS testing as quickly as possible. Tests are written in Cucumber and use Selenium. Hardy runs on Node.js and therefore all the example CSS test helpers are written in JS. The functionality behind them can easily be reused in any test setup, whether your tests are written in Java, Ruby or anything else.

Splinter - Python test framework for web applications

  •    Python

Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. Splinter is an abstraction layer on top of existing browser automation tools such as Selenium, PhantomJS and zope.testbrowser. It has a high-level API that makes it easy to write automated tests of web applications. It has drivers for Chrome and Firefox for browser-based testing, and zope.testbrowser and PhantomJS for headless testing.

js-must - An assertion library for JavaScript and Node

  •    Javascript

Must.js is a testing and assertion library for JavaScript and Node.js with a friendly BDD syntax ( It ships with many expressive matchers and is test runner and framework agnostic. Follows RFC 2119 with its use of MUST. Good and well testsed stuff. For those new to testing JavaScript on Node.js, you'll also need a test framework (also called a test-runner or a harness) to run your tests. One such tool is Mocha.

pact-js - JS version of Pact

  •    TypeScript

Implementation of the consumer driven contract library Pact for Javascript. The Pact family of frameworks provide support for Consumer Driven Contracts testing.

react-testing-mocha-jsdom - Unit testing React Components with Mocha + jsdom

  •    Javascript

This is Part 2 of the series "Modular Isomorphic React JS applications". See Part 1 and Part 3 for more. Unit testing React is traditionally done using Jest which dictates the use of the Jasmine testing framework, and enforces mocking of all require calls. For such an unopinionated rendering engine, this is a very opinionated setup, resulting in issues such as overly-verbose unmocking of requires, and being tied into Jasmine's limited framework.

gulp-mocha - Run Mocha tests

  •    Javascript

Keep in mind that this is just a thin wrapper around Mocha and your issue is most likely with Mocha.🔥 Want to strengthen your core JavaScript skills and master ES6? I would personally recommend this awesome ES6 course by Wes Bos. You might also like his React course.

enzyme - JavaScript Testing utilities for React

  •    Javascript

Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.Enzyme's API is meant to be intuitive and flexible by mimicking jQuery's API for DOM manipulation and traversal.

wd - A node.js client for webdriver/selenium 2.

  •    Javascript

This library is designed to be a maleable implementation of the webdriver protocol in Node, exposing functionality via a number of programming paradigms. If you are looking for a more opinionated library, you might find interesting. Note: WD.js does not start the selenium server. You may use the selenium-standalone package to install and start a selenium server.

chutzpah - Chutzpah is an open source JavaScript test runner which enables you to run unit tests using QUnit, Jasmine, Mocha, CoffeeScript and TypeScript

  •    Javascript

Chutzpah is an open source JavaScript test runner which enables you to run unit tests using QUnit, Jasmine, Mocha, CoffeeScript and TypeScript. For comments, praise, complaints you can reach me on twitter at @mmanela.

Webrat - Ruby Acceptance Testing for Web applications

  •    Ruby

Webrat helps to write expressive and robust acceptance tests for a Ruby web application. It supports multiple Ruby web frameworks like Rails, Merb and Sinatra. It also supports popular test frameworks like RSpec, Cucumber, Test::Unit and Shoulda.

electron-mocha - Run Mocha tests in Electron

  •    Javascript

and then electron will be added to your path. Or, you can download a version from and then set an environment variable ELECTRON_PATH pointing to the binary. Note if you're using Mac OS X, the path would be to the actual executable and not the app directory e.g. /Applications/ should probably just install electron-prebuilt as it simplifies things.

yeti - Yeti automates browser testing.

  •    Javascript

Yeti automates tests written for various test frameworks. Yeti scales from your dev box (where it works by itself) to your CI system (where it launches browsers with Selenium) without changing your existing tests. You can use any of these test frameworks with Yeti.

GoConvey - Go testing in the browser. Integrates with go test. Write behavioral tests in Go.

  •    Go

GoConvey is a yummy Go testing tool for gophers. Works with go test. Use it in the terminal or browser according to your viewing pleasure.

redux-saga-test-plan - Test Redux Saga with an easy plan.

  •    Javascript

Redux Saga Test Plan makes testing sagas a breeze. Whether you need to test exact effects and their ordering or just test your saga put's a specific action at some point, Redux Saga Test Plan has you covered. Redux Saga Test Plan aims to embrace both integration testing and unit testing approaches to make testing your sagas easy.

page-object - Gem to implement PageObject pattern in watir-webdriver and selenium-webdriver

  •    Ruby

A simple gem that assists in creating flexible page objects for testing browser based applications. The goal is to facilitate creating abstraction layers in your tests to decouple the tests from the item they are testing and to provide a simple interface to the elements on a page. It works with both watir and selenium-webdriver. The project wiki is the first place to go to learn about how to use page-object.