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)