Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

httest(1) [debian man page]

HTTEST(1)							   User Commands							 HTTEST(1)

NAME
httest - test HTTP driven application SYNOPSIS
httest [OPTIONS] scripts DESCRIPTION
httest is a script based tool for testing and benchmarking web applications, web servers, proxy servers and web browsers. httest can emu- late clients and servers in the same test script, very useful for testing proxys. OPTIONS
-V --version Print version number and exit -h --help Display usage information (this message) -n --suppress do no print start and OK|FAILED -s --silent silent mode -e --error log level error -w --warn log level warn -i --info log level info -d --debug log level debug for script debugging -p --debug-system log level debug-system to log more details -L --list-commands List all available script commands -C --help-command Print help for specific command -t --duration Print test duration -T --timestamp Time stamp on every run -S --shell Shell mode -S --shell Shell mode -D --define Define variables EXAMPLES
httest script.htt httest -Ts script.htt SCRIPTS
httest is script based. The following script examples can be but into a scripte i.e. sample.htt and can be called like httest sample.htt SIMPLE SCRIPT
Get a page and do expect return code 200 OK. CLIENT _REQ www.google.ch 80 __GET /search?q=apache HTTP/1.1 __Host: www.google.ch __ _EXPECT headers "HTTP/1.1 200 OK" _WAIT END CUT AND PAST SCRIPT
Cut and past from a HTTP stream, i.e we cut the apache host to access it in the second request. CLIENT _REQ www.google.ch 80 __GET /search?q=apache HTTP/1.1 __Host: www.google.ch __ _MATCH body '<a href="http://([^/]*)/" class=l>Welcome! - The <em>Apache</em> HTTP Server Project' APACHE_HOST _WAIT _REQ $APACHE_HOST 80 __GET / HTTP/1.1 __Host: $APACHE_HOST __ _WAIT END CLIENT SERVER SCRIPT
We can hold client and server in the same host. Actually multiple client and multiple server. Very useful to test forward or reverse prox- ies. Or a webapplication which communicat itself with third party servers i.e. mail server. This is a very basic selfcontained test you can run on any maschine. CLIENT _REQ localhost 8080 __GET /foo HTTP/1.1 __Host: localhost __ _WAIT END SERVER 8080 _RES _EXPECT "/foo" _WAIT __HTTP/1.1 200 OK __Content-Length: AUTO __ __Hello World END SSL SCRIPT
Of course SSL do also work with httest, just put "SSL:" before port. CLIENT _REQ localhost SSL:8080 __GET /foo HTTP/1.1 __Host: localhost __ _WAIT END SERVER SSL:8080 _RES _EXPECT "/foo" _WAIT __HTTP/1.1 200 OK __Content-Length: AUTO __ __Hello World END AUTHOR
Written by Christian Liesch REPORTING BUGS
Report bugs to http://sourceforge.net/projects/htt COPYRIGHT
Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. httest 2.2.6 June 2012 HTTEST(1)

Check Out this Related Man Page

Plack::Test(3pm)					User Contributed Perl Documentation					  Plack::Test(3pm)

NAME
Plack::Test - Test PSGI applications with various backends SYNOPSIS
use Plack::Test; # named params test_psgi app => sub { my $env = shift; return [ 200, [ 'Content-Type' => 'text/plain' ], [ "Hello World" ] ], }, client => sub { my $cb = shift; my $req = HTTP::Request->new(GET => "http://localhost/hello"); my $res = $cb->($req); like $res->content, qr/Hello World/; }; use HTTP::Request::Common; # positional params (app, client) my $app = sub { return [ 200, [], [ "Hello "] ] }; test_psgi $app, sub { my $cb = shift; my $res = $cb->(GET "/"); is $res->content, "Hello"; }; DESCRIPTION
Plack::Test is a unified interface to test PSGI applications using HTTP::Request and HTTP::Response objects. It also allows you to run PSGI applications in various ways. The default backend is "Plack::Test::MockHTTP", but you may also use any Plack::Handler implementation to run live HTTP requests against at web server FUNCTIONS
test_psgi test_psgi $app, $client; test_psgi app => $app, client => $client; Runs the client test code $client against a PSGI application $app. The client callback gets one argument $cb, a callback that accepts an "HTTP::Request" object and returns an "HTTP::Response" object. Use HTTP::Request::Common to import shortcuts for creating requests for "GET", "POST", "DELETE", and "PUT" operations. For your convenience, the "HTTP::Request" given to the callback automatically uses the HTTP protocol and the localhost (127.0.0.1 by default), so the following code just works: use HTTP::Request::Common; test_psgi $app, sub { my $cb = shift; my $res = $cb->(GET "/hello"); }; Note that however, it is not a good idea to pass an arbitrary (i.e. user-input) string to "GET" or even "HTTP::Request->new" by assuming that it always represents a path, because: my $req = GET "//foo/bar"; would represent a request for a URL that has no scheme, has a hostname foo and a path /bar, instead of a path //foo/bar which you might actually want. OPTIONS
Specify the Plack::Test backend using the environment variable "PLACK_TEST_IMPL" or $Plack::Test::Impl package variable. The available values for the backend are: MockHTTP (Default) Creates a PSGI env hash out of HTTP::Request object, runs the PSGI application in-process and returns HTTP::Response. Server Runs one of Plack::Handler backends ("Standalone" by default) and sends live HTTP requests to test. ExternalServer Runs tests against an external server specified in the "PLACK_TEST_EXTERNALSERVER_URI" environment variable instead of spawning the application in a server locally. For instance, test your application with the "HTTP::Server::ServerSimple" server backend with: > env PLACK_TEST_IMPL=Server PLACK_SERVER=HTTP::Server::ServerSimple prove -l t/test.t AUTHOR
Tatsuhiko Miyagawa perl v5.14.2 2011-09-20 Plack::Test(3pm)
Man Page