#!/opt/perl/bin/perl5.10.0 use strict; use Test::WWW::Mechanize; use Test::More; use vars qw($beta $production $login $pass); ($login,$pass) = @ARGV; my @tests = ; chomp @tests; plan tests => 4+ 2*@tests; my %mech = ( beta => { url => 'http://qs343.pair.com/~monkperl/beta.cgi?', mech => Test::WWW::Mechanize->new(), }, production => { url => 'http://perlmonks.net/?', mech => Test::WWW::Mechanize->new(), }, ); for my $site (sort keys %mech) { my $m = $mech{$site}->{mech}; my $url = $mech{$site}->{url}; $m->get("${url}node=109"); $m->submit_form( with_fields => { user => $login, passwd => $pass, }, ); $m->content_like(qr!Hey\.\s*Glad you're back!i, "Logged in as '$login'") or $m->save_content('login.fail'); $m->content_unlike(qr!Oops!i, "Correct password") or $m->save_content('login.fail'); }; for my $url (@tests) { for my $site (sort keys %mech) { my $u = $mech{$site}->{url} . $url; my $m = $mech{$site}->{mech}; $m->get($u); $m->content_unlike( qr/Server Error\s*\(Error ID/, "[$site] No error on $url" ); $m->save_content('log.html'); }; }; __DATA__ node=The+Monastery+Gates node=Message+Inbox node=Patch+lister node=Recently+Active+Threads;nnt-as-of=2008-08-21