NAME
Test::WWW::Mechanize::Runner - test-suites maker for "WWW::Mechanize"-compatible agents.
DESCRIPTION
This module is designed to help you write functional test-suites for web-applications without getting stuck with a specific WWW::Mechanize agent.
You write the scenario in your module (that inherits from the runner) and define suites.
Then, you can easily write your test script with 3 lines.
EXAMPLE
First, write a scenario with the runner :
package TestGoogle;
use Test::Simple;
use Test::WWW::Mechanize::Runner;
use base 'Test::WWW::Mechanize::Runner'; # this may become automatic in
# future versions
suite google_homepage => sub {
# you receive the agent defined for the session
my ($agent) = @_;
ok( $agent->get('http://www.google.com'),
'GET http://www.google.com' );
ok($agent->form_number(1), 'select the form' );
# ...
};
1;
Then you can write your test script for running the suite with the agent you like:
test-google-mozilla.t:
use TestGoogle;
TestGoogle->init('mozilla');
TestGoogle->run(@ARGV);
The test suite is then run with a Mozilla::Mechanize agent, if possible.
You can also name the test suites you want to run if you want to run only a specific set of suites, instead of all of them:
$ perl test-google-mozilla.t # will run all the test suites defined
$ perl test-google-mozilla.t google_homepage # will only run "google_homepage"
SUPPORTED AGENTS
In this version the following agents are supported :
- default : WWW::Mechanize
- mozilla : Mozilla::Mechanize
- msie : Win32::IE::Mechanize
- mozilla-gui : Mozilla::Mechanize::GUITester
AUTHOR
This module was written by Alexis Sukrieh <sukria+perl@sukria.net>.
COPYRIGHT AND LICENSE
Copyright 2007 by Alexis Sukrieh.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.