Running tests with TestSwarm
If you’ve gone through the Getting started and Loading your code tutorials, this article will show you how to run your tests using TestSwarm.
Setting up a TestSwarm server is beyond the scope of this documentation, consult the TestSwarm docs for how to do this. Once you’ve set the server up you should have a project name and auth token for submitting jobs.
A TestSwarm job is basically a list of URLs that reference test pages you want
TestSwarm to run. Let’s say you want to submit the jstest example tests as a
job, and the latest commit is b4e2c37. The following request submits a job
called jstest commit b4e2c37 to run in all browsers, and has one test page
called Tests that we’ve deployed to
http://example.com/jstest/b4e2c37/example/browser.html.
$ curl -X POST http://testswarm.example.com/api.php \
-d 'action=addjob' \
-d 'authUsername=jstest' \
-d 'authToken=52ec45981a3d27e7d835c07c5a9be3a5' \
-d 'jobName=jstest%20commit%20b4e2c37' \
-d 'runMax=5' \
-d 'browserSets[]=all' \
-d 'runNames[]=Tests' \
-d 'runUrls[]=http%3A%2F%2Fexample.com%2Fjstest%2Fb4e2c37%2Fexample%2Fbrowser.html'
The test page at http://example.com/jstest/b4e2c37/example/browser.html
must include the TestSwarm server’s inject script, which you can do by adding
this to the end of the page’s <head> section:
<script>
var inject = 'http://testswarm.example.com/js/inject.js?' + new Date().getTime()
document.write('<scr'+'ipt src="' + inject + '"></scr'+'ipt>')
</script>
Once you’ve done this, everything should just work. jstest should
automatically enable the TestSwarm reporter and your test
results should be logged correctly.