The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTTP::WebTest::Plugin::SetRequest - Initializes HTTP request for web test

SYNOPSIS

Not Applicable

DESCRIPTION

This plugin initializes the HTTP request for a web test.

TEST PARAMETERS

relative_urls

If set to yes than HTTP-WebTest supports relative URLs. See test parameter url for more information.

Allowed values

yes, no

Default value

no

url

URL to test.

If test parameter relative_urls is set to yes than URL for each test is treated as relative to the URL in the previous test. URL in the first test is treated as relative to http://localhost.

If test parameter relative_urls is set to no than each URL is treated as absolute. In this case if schema part of URL is omitted (i.e. URL doesn't start with http://, ftp://, etc) then http:// is implied.

method

HTTP request method.

See RFC 2616 (HTTP/1.1 protocol).

Allowed values

GET, POST

Default value

GET

http_headers

A list of HTTP header/value pairs. Can be used to override default HTTP headers or to add additional HTTP headers.

Example

    http_headers = ( Accept => text/plain, text/html )

params

A list of name/value pairs to be passed as parameters to the URL. (This element is used to test pages that process input from forms.)

If the method key is set to GET, these pairs are URI-escaped and appended to the requested URL.

Example (wtscript file):

    url = http://www.hotmail.com/cgi-bin/hmhome
    params = ( curmbox
               F001 A005
               from
               HotMail )

generates the HTTP request with URI:

    http://www.hotmail.com/cgi-bin/hmhome?curmbox=F001%20A005&from=HotMail

If the method key is set to POST, as long as all values are scalars they are URI-escaped and put into content of the HTTP request. application/x-www-form-urlencoded content type is set for such HTTP request.

If the method key is set to POST, some values may be defined as lists. In this case HTTP::WebTest uses multipart/form-data content type used for Form-based File Upload as specified in RFC 1867. Each parameter with list value is treated as file part specification with the following interpretation:

    ( FILE, FILENAME, HEADER => VALUE... )

where

  • FILE

    The name of a file to open. This file will be read and its content placed in the request.

  • FILENAME

    The optional filename to be reported in the request. If it is not specified than basename of FILE is used.

  • HEADER => VALUE

    Additional optional headers for file part.

Example (wtscript file):

    url = http://www.server.com/upload.pl
    method = post
    params = ( submit => ok
               file   => ( '/home/ilya/file.txt', 'myfile.txt' ) )

It generates HTTP request with /home/ilya/file.txt file included and reported under name myfile.txt.

auth

A list which contains two elements: userid/password pair to be used for web page access authorization.

proxies

A list of service name/proxy URL pairs that specify proxy servers to use for requests.

Example

    proxies = ( http => http://http_proxy.mycompany.com
                ftp  => http://ftp_proxy.mycompany.com )

pauth

A list which contains two elements: userid/password pair to be used for proxy server access authorization.

user_agent

Set the product token that is used to identify the user agent on the network.

Default value

HTTP-WebTest/NN

where NN is version number of HTTP-WebTest.

handle_redirects

If set to yes then HTTP-WebTest automatically follows redirects. It means that you never see HTTP responses with status codes 301 and 302. This feature is disabled if this test parameter is set to no.

Allowed values

yes, no

Default value

yes

timeout

Set the timeout value in seconds.

Default value

180

COPYRIGHT

Copyright (c) 2000-2001 Richard Anderson. All rights reserved.

Copyright (c) 2001-2003 Ilya Martynov. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

HTTP::WebTest

HTTP::WebTest::API

HTTP::WebTest::Plugin

HTTP::WebTest::Plugins