Agile Web Development

Build it. Launch it. Love it.

spider_test

It performs a few valuable tasks for you:

- parses the html of every page, so if you have invalid html, you will be warned.
- finds every link to within your site and follows it, whether static or dynamic.
- finds every Ajax.Updater link and follows it.
- finds every form and tries to submit it, filling in values where possible.

This is helpful in determining:

- missing static pages (.html)
- poor code coverage - forgot to test a file? Don't wait for a user to find it.
- simple fuzzing of form values.
- automated testing of form paths. Often we have forms which point to incorrect
locations, and up until now this has been impossible to test in an automated fashion
or without being strongly coupled to your code.

================

USAGE

$ script/plugin install svn://caboo.se/plugins/court3nay/spider_test
$ script/generate integration_test spider_test

Vitals

Home http://sample.caboo.se/plugins/court3nay/spider_test
Repository svn://caboo.se/plugins/court3nay/spider_test
License
Tags Tag_red
Rating (5 votes)
Owner court3nay
Created 19 September 2007

Comments

  • Haakon
    19 September 2007

    I love the idea of this plugin, but I wasn't able to get it to do anything useful w/o spending effort on it. When including the mixin, you need to include the module Caboose::SpiderIntegrator (update the docs?). Also, the call to the method spider() does not take two args - maybe default the third arg to {}, or update the documentation? When I got the test to run the output didn't really tell me very much:

    Started . Finished in 1.354948 seconds.

    1 tests, 2 assertions, 0 failures, 0 errors

    cheers, Haakon

  • Avatar
    Ahmed El-Daly
    25 December 2007

    Don't even try this plugin. The documentation is definitely out of date and no amount of reading the code and "fixing" things in it would make it work.

  • Stuart Halloway
    11 January 2008

    In response to the previous commenter, the amount of reading the code necessary to get this to work is ~5 minutes. Very useful plugin.

Add a comment