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 emulate 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

-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 -l --log-thread-number Show the thread number for every printed line

-b --color

Colored output

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 proxies. 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 © 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 PARTICULAR PURPOSE.