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

url

URL to test. 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 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.

COPYRIGHT

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

Copyright (c) 2001-2002 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