Scout

Scout is a command line tool that helps you automate an invisible browser.
You can open URLs, follow links, take screenshots and fill in forms. With the custom designed language and built-in assertions writing functional tests has never been easier.

Get started!

How does it work?

Scout finds, reads and executes .scout files: simple lists of instructions that describe a sequence of user actions and assertions on web pages. The instructions are executed one by one in PhantomJS. Because Scout automatically waits for each action to be successfully completed you will never have to write waitFor instructions or callbacks.

Use Scout to:

Open URLs and follow links

open     http://github.com

# Elements can be targeted by text
click    "terms of service"

# Or any standard CSS selector
click    .site-logo



More about navigation

Take screenshots

open               http://github.com

# Take a screenshot of the whole page
screendump         page.png

# Or of single element
screendump         page_header.png    .header

# Compare a previously made screenshot to an element
assertResembles    page_footer.png    .site-footer

More about screenshots

Fill in forms

open      https://twitter.com/search-advanced

# Type text into an input
type      [name="ands"]           functional testing

# Choose options in a select
choose    [name="lang"]           English (English)

# Click radios and checkboxes
click     "Include retweets"

More about forms

Test assertions

open             http://github.com

# Click the signup button without entering any data
click            "Sign up for GitHub"

# Make sure the right things happen
assertTitle      Join GitHub
assertVisible    .flash-error
assertText       .error          Login can't be blank

More about assertions

Scout will automatically:

Scout tests are:

Easy to write

Instructions are plain English. Elements are easily targeted by their text content or with CSS selectors.

Easy to run

Scout is a command line tool with various options to make your life easier.

Robust

Tests are very resilient to changes in the page. Elements can change, move or disappear and Scout will adapt.

Fast

Because Scout automatically deals with delays, tests don't need artificial waitFor instructions.