Skip to content

Latest commit

 

History

History
145 lines (104 loc) · 9.46 KB

javascript-test-automation.md

File metadata and controls

145 lines (104 loc) · 9.46 KB

JavaScript test automation

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

Have questions\issues\problems, join the chat at https://gitter.im/atinfo/awesome-test-automation

Table of content:

Also:


xUnit frameworks

Contribute to this section

TDD \ ATDD \ BDD

  • 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.

Mock frameworks

  • 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.

Code analysis

  • HintJS - Community driving js code analysis tool supported by twitter, facebook, wiki, jquery, mozilla, yahoo and others.
  • JsLint - JavaScript syntax checker and validator.

Web UI test automation

  • 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.

Mobile test automation

  • 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.

Windows UI test automation

Contribute to this section

Unix \ Linux UI test automation

Contribute to this section

MacOS UI test automation

Contribute to this section

Virtual environments

Contribute to this section

Performance & stress & load

Contribute to this section

Security checking

Contribute to this section

Continuous Integration

  • 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.

Reporting

  • 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.

Documentation generation

Contribute to this section

Editors, IDE, consoles

  • 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

Useful libs

Contribute to this section

Resources

Where to discover new libraries, information, tools, etc.

Websites

Other Awesome Test Automation Lists

Your contributions are always welcome!