Features

Main features

Easy events

You just tell it where to click or what to type and Scout automatically triggers all related mouse, keyboard, focus and viewport events.

Tolerance & patience

If an assertion or action doesn't immediately succeed Scout will automatically wait and retry. You will never have to litter your test code with wait() statements and ugly callbacks.

True user simulation

Despite its name, Scout is not a mindless automaton. It accurately simulates how a real user would interact with the page and tries to make the test pass.

Other features

Full jQuery CSS selector support

Scout supports using all standard CSS3 selectors, as well as all the convenient jQuery extensions, like :checkbox, :has() and :odd.

Special keys

Do you want to test if you can close your modal dialogs with escape or if your form submits if you press enter? Scout can simulate pressing any key with a convenient <SpecialKey> syntax.

Target by text

If you want, you can skip using CSS selectors altogether and target elements by their text content. See the section on selectors in the API for more information.

Helpful failure messages

If an action or assert fails, Scout will try to help you with a descriptive message.

Blazingly fast

Tests are run in PhantomJS, a fast and lightweight headless browser. Additionally, because Scout automatically takes care of waiting for assertions and actions to be succesful, you'll never need to artificially slow it down with wait() statements. For extra speed, tests can be run in parallel.

Flexible command line

Scout comes with a flexible command line that allows you to specify which tests to be run in which order. There's no need to maintain meta files grouping tests together in suites, when you can simply save your tests together in a directory.