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