1In simple cases individual tests can be run by simply loading the page
2in a browser window. For running larger groups of tests, or running
3tests frequently, this is not a practical approach, and several better
4options exist.
5
6## From Inside a Browser
7
8For running multiple tests inside a browser, there is the test runner,
9located at
10
11    /tools/runner/index.html
12
13This allows all the tests, or those matching a specific prefix
14(e.g. all tests under `/dom/`) to be run. For testharness.js tests,
15the results will be automatically collected, whilst the runner
16provides a simple UI for manually comparing reftest rendering and
17running manual tests.
18
19Because it runs entirely in-browser, this runner cannot deal with
20edge-cases like tests that cause the browser to crash or hang.
21
22## By Automating the Browser
23
24For automated test running designed to be robust enough to use in a CI
25environment, the [wptrunner](http://github.com/w3c/wptrunner) test runner
26can be used. This is a test runner written in Python and designed to
27control the browser from the outside using some remote control
28protocol such as WebDriver. This allows it to handle cases such as the
29browser crashing that cannot be handled by an in-browser harness. It
30also has the ability to automatically run both testharness-based tests
31and reftests.
32
33Full instructions for using wptrunner are provided in its own
34[documentation](http://wptrunner.readthedocs.org).
35