Skip to content
This repository was archived by the owner on Jan 8, 2025. It is now read-only.

Automated Distributed Continuous Integration for JavaScript

Krinkle edited this page May 1, 2012 · 31 revisions

Just getting started with TestSwarm? Check out the README and wiki pages.

This document describes how TestSwarm can be used in a large scale testing environment. Features:

  • Fully automated submissions of jobs to TestSwarm
  • The swarm is automatically populated with browser clients
  • Events can be used to create additional post-event actions (such as IRC notifications).

Summary of used technologies:

Prerequisites

The following prerequisites are assumed to be installed already (this document does not cover setting that up, these software packages have their own manuals):

  • Install jQuery TestSwarm (obviously)
  • Create an account for your project in TestSwarm, and take note of the authToken for that account.
  • Install Jenkins
    with the following plugins: (depending on your repository you may need different ones)
  • GitHub
  • Account at BrowserStack (required to use the [http://www.browserstack.com/automated-browser-testing-api BrowserStack API])

Note that using Jenkins and BrowserStack is not a requirement for a working continuous integration environment with TestSwarm. TestSwarm itself is (although basic) a fine continuous integration framework on its own. If you prefer to use TestSwarm (instead of Jenkins) as the central manager of your workflow that is also possible. In that case you will have to find a different way to trigger jobs. For example you could write your own script (e.g. ran from cron) that checks your incoming source of commits (Self-hosted Git or SVN repo, GitHub, Gerrit, ..) and take care of copying the source at the current revision into a static directory and submit jobs from there.

Likewise using BrowserStack is not required. There are alternatives (check out this StackOverflow post), but those may or may not have an API that allows automatic starting and terminating of browsers. You can also populate your swarm manually by crowdsourcing it. If you can rely on that, go for it (and that's free, whereas BrowserStack (or other cloudbased solutions) may not be free).

Build and submit with Grunt

todo

Create job project in Jenkins

todo

Clone this wiki locally