HTTP::WebTest::Cookbook - recipes of tests for every day
Not Applicable
This document contains some examples of HTTP::WebTest usage.
All examples are either runnable programs (see HTTP::WebTest::API) or runnable wtscript files (see perldoc wt).
This wtscript tests couple of static pages on my website:
test_name = First page url = http://martynov.org/ text_require = ( Ilya Martynov's Web Site ) end_test test_name = Mail-CheckUser page url = http://martynov.org/checkuser text_require = ( Mail-CheckUser Download ) regex_require = ( Mail-CheckUser-[\d\.]+\.tar\.gz ) end_test
Same test in form of Perl script:
use HTTP::WebTest; my $webtest = new HTTP::WebTest; $webtest->run_tests( [ { test_name => 'First page', url => 'http://martynov.org/', text_require => [ "Ilya Martynov's Web Site" ] }, { test_name => 'Mail-CheckUser page', url => 'http://martynov.org/checkuser', text_require => [ 'Mail-CheckUser', 'Download' ], regex_require => [ 'Mail-CheckUser-[\d\.]+\.tar\.gz' ] } ]);
This wtscripts tests login form on http://fsck.com/rt2/:
test_name = Login page url = http://fsck.com/rt2/ text_require = ( Login Username: Password:) end_test test_name = Submit wrong username & password url = http://fsck.com/rt2/ params = ( user => unknownUser pass => somePassword ) text_require = ( Error Your username or password is incorrect ) end_test test_name = Submit correct username & password url = http://fsck.com/rt2/ params = ( user => guest pass => guest ) regex_require = ( Signed in as.*?guest.*?\. ) end_test
This Perl script reads test specification from file test.wt and generates Test::Harness compatible output:
test.wt
use HTTP::WebTest; my $webtest = new HTTP::WebTest; $webtest->run_wtscript('test.wt', { default_report => 'no', plugins => [ '::HarnessReport' ] });
Copyright (c) 2001,2002 Ilya Martynov. All rights reserved.
This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License.
HTTP::WebTest
HTTP::WebTest::API
wt
To install HTTP::WebTest, copy and paste the appropriate command in to your terminal.
cpanm
cpanm HTTP::WebTest
CPAN shell
perl -MCPAN -e shell install HTTP::WebTest
For more information on module installation, please visit the detailed CPAN module installation guide.