A comprehensive curated list of JavaScript test automation frameworks, tools, libraries and software to help software engineers easily bootstrap test automation on JavaScript. Sponsored by http://sdclabs.com
Table of content:
- xUnit frameworks
- TDD \ ATTD \ BDD
- Code Analysis
- Web UI test automation
- Mobile test automation
- Windows UI test automation
- Unix \ Linux UI test automation
- MacOS UI test automation
- Virtual environments
- Performance & stress & load
- Security checking
- Continuous Integration
- Reporting
- Documentation generation
- Editors, IDE and consoles
- Useful libs
Also:
- BDD/TDD
- WebdriverIO - Nodejs webdriver bindings implementation, based on JsonWire protocol. Requires selenium server running. Includes promises, extended syntax, asynchronus calls with callbacks etc. Also supports SauceLabs, BrowserStack and many other online tools.
- WebdriverJS - webdriver nodejs implemetations from authors of selenium, includes all basic features and commands.
- MochaJS - feature-rich JavaScript test framework running on node.js and the browser.
- Intern - is a complete test stack for JavaScript designed to help you write and run consistent, high-quality test cases for your JavaScript libraries and applications. It can be used to test any JavaScript code. Its functional testing capabilities can even be used to test non-JavaScript Web and mobile apps, if you really want.
- CodeceptJS - Modern era acceptance testing for NodeJS
- TDD
- Karma - test runner for making TDD much easier by pre-build test envitronments.
- BDD
- Jasmine - 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.
- Sinon.JS - Standalone test spies, stubs and mocks for JavaScript. No dependencies, works with any unit testing framework.
- JSMockito - JsMockito is a JavaScript stub/mock framework heavily inspired by java's Mockito.
- apimocker - This is a node.js module to run a simple http server, which can serve up mock service responses. Responses can be JSON or XML to simulate REST or SOAP services.
- HintJS - Community driving js code analysis tool supported by twitter, facebook, wiki, jquery, mozilla, yahoo and others.
- JsLint - JavaScript syntax checker and validator.
- WebdriverIO - Nodejs webdriver bindings implementation, based on JsonWire protocol. Requires selenium server running. Includes promises, extended syntax, asynchronus calls with callbacks etc. Also supports SauceLabs, BrowserStack and many other online tools.
- WebdriverJS - webdriver nodejs implemetations from authors of selenium, includes all basic features and commands.
- Protractor - End-to-end test framework for AngularJS applications.
- Nightwatch.js - Easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites.
- Dalek.js - Automated cross browser testing with JavaScript.
- Nemo - Nemo provides a simple way to add selenium automation to your NodeJS web projects. With a powerful configuration ability provided by krakenjs/confit, and plugin architecture, Nemo is flexible enough to handle any browser/device automation need.
- Frisby - Is a REST API testing framework built on node.js and Jasmine that makes testing API endpoints easy, fast, and fun.
- WebdriverIO's Appium implementation - nodejs bindings implemeting Appium commands.
- Macaca - Solution for Automation Test with Ease. Both Mobile, Desktop Platforms Supported, native, Hybrid, Mobile Web Multi-applications Supported, Command line tools & CI Solution provided.
- Strider CD - Open Source Continuous Deployment / Continuous Integration platform written in NodeJS.
- Gulp - Streaming building system/task runner in nodejs. Based on streaming data flow conception (https://github.com/substack/stream-handbook).
- Grunt - Streaming building system/task runner in nodejs. Can't do anything without plugins, but there are many of them for all kinds of purposes.
- Istanbul - JS coverage tool for unit tests, server side functional tests and browser tests.
- Blanket - JavaScript code coverage library that works both in-browser and with nodejs.
- WebStorm - PhpStorm without php support. One of thee most powerfull JS/HTML IDE.
- Brackets - Open source newly released IDE for JS/HTML from Adobe.
- Komodo - Cross platform IDE for multiple languages, strongly supporting JS.
- Cloud9 - Cloud based nodejs IDE supporting multiple features, eg. pair programming, preview in a new browser, built-in image editor, terminal and many others
- Visual Studio Code - Cross platform editor from Microsoft, with integrated Node.js debugger and hooks for taskrunners such as Gulp
- Atom - Full-featured, right out of the box text editor that's modern, approachable, yet hackable to the core from Github
Where to discover new libraries, information, tools, etc.
- automated-testing.info - Test automation community
- atinfo.github.io/at.info-knowledge-base - Knowledge base for test automation examples on different tools and technologies
- python test automation
- java test automation
- ruby test automation
- c# test automation
- php test automation
- javascript test automation
- test automation and software testing as services
- mobile, tablet and tv test automation
- general purpose test automation tools
Your contributions are always welcome!