NAME
Apache2::ASP::Test::UserAgent - User-agent for testing Apache2::ASP web applications
SYNOPOSIS
use Apache2::ASP::Test::UserAgent;
my $ua = Apache2::ASP::Test::UserAgent->new( $asp );
my $response = $ua->get( '/index.asp' );
my $response = $ua->post( '/handlers/FormHandler', [
username => 'admin',
password => 's3cr3t',
]);
my $response = $ua->upload( '/handlers/UploadHandler', [
title => 'this is my file',
filename => ['/path/to/file.txt']
]);
# $response is a regular HTTP::Response object, so...:
if( $response->is_success )
{
# Everything worked out OK.
}
else
{
# Request failed.
}# end if()
# Deal with forms:
use HTML::Form;
my $response = $ua->get( '/some-form.asp' );
my $form = HTML::Form->parse( $response->content, '/some-form.asp' );
$form->find_input( 'username' )->value( 'admin' );
$form->find_input( 'password' )->value( 's3cr3t' );
my $after_response = $ua->submit_form( $form );
DESCRIPTION
Apache2::ASP::Test::UserAgent
offers the ability to test your web applications without requiring a running Apache webserver or direct human interaction.
Simply by using Devel::Cover you can easily generate code-coverage reports on your ASP scripts. Such coverage reports can be used to tell you what code is executed during your tests.
IMPORTANT BUG
After creating an instance of Apache2::ASP::Test::UserAgent
you cannot print to STDOUT
.
However you can warn
just fine.
PUBLIC PROPERTIES
asp
Returns the Apache2::ASP object currently in use by the Apache2::ASP::Test::UserAgent
object.
PUBLIC METHODS
new( $asp )
Constructor. The $asp
argument should be an Apache2::ASP::Base
object.
Returns a new Apache2::ASP::Test::UserAgent
object.
add_cookie( $name, $value )
Appends a cookie to be sent on all future requests.
get( $url )
Makes a GET
request to $url
via Apache2::ASP::Base.
Content-encoding is application/x-www-form-urlencoded
.
Returns an HTTP::Response object.
post( $url, $content )
Makes a POST
request to $url
via Apache2::ASP::Base, sending $content
as its request data.
Content-encoding is application/x-www-form-urlencoded
.
Returns an HTTP::Response object.
upload( $url, $content )
Makes a POST
request to $url
via Apache2::ASP::Base, sending $content
as its request data.
Content-encoding is multipart/form-data
.
Returns an HTTP::Response object.
submit_form( $form )
$form
should be a valid HTML::Form
object. The $form
is submitted via its click()
method, and the resulting HTTP::Request object is processed.
Returns a HTTP::Response object.
BUGS
It's possible that some bugs have found their way into this release.
Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=Apache2-ASP to submit bug reports.
HOMEPAGE
Please visit the Apache2::ASP homepage at http://apache2-asp.no-ip.org/ to see examples of Apache2::ASP in action.
AUTHOR
John Drago mailto:jdrago_999@yahoo.com
COPYRIGHT AND LICENSE
Copyright 2007 John Drago, All rights reserved.
This software is free software. It may be used and distributed under the same terms as Perl itself.