This site will look much better in a browser that supports web standards, but is accessible to any browser or Internet device.

HTTPTest

Description

The HTTPtest script was created to simpify regression testing of a set of servers that provide data to other systems using XML and the HTTP protocol. This protocol was original chosen for ease of manual testing. All that would be needed is a browser. However, manual testing proved tedious.

HTTPtest requires a set of tests be defined in a configurations file. All of the tests in this file are run and their results reported. All tests use a straight-forward request/response model. Each test describes the request to make and a set of test criteria that must be met by the response.

Documentation

The distribution contains a DTD for the HTTPtest configuration file. In addition, the HTTPtest.pl script contains POD documentation that should answer most questions. An HTML version of that document is available online. An online tutorial is now available, as well.

Download the current version

A gzipped tar file containing the current distribution (0.782) of the script is available.

Changes

0.782
Combines several unreleased versions.
  • Documentation updates
  • Command line options cleanup
  • Added skip element
  • Added subtest-defs and call elements
  • Correct nonexist header test
  • Extend testing
  • Add -f command line option
  • Added or-all and and-all subtests
  • Cleanups for codelib naming
0.71
Correction of HTTP Basic Authentication support.
0.7
Addition of HTTP Basic Authentication support.
0.692
Documentation changes to match with the forthcoming tutorial.
0.691
Correct a bug in the handling of the default include path.
0.69
Add support for response filtering and a cookie jar.

Download HTTPtestS.pl

In order to comply with the current restrictions on scripts submitted to CPAN, I have created HTTPtestS.pl. This is a standalone version of the HTTPtest program. It only depends on code already in the standard distribution or on CPAN. Unfortunately, it is based on the version 0.66 of HTTPtest. I hope to bring it up to date soon.

Since HTTPtestS.pl is a standalone program, it cannot contain the test code included in the other distribution. Those tests are available separately.

Future Directions

The first issue to cover for the future is, of course, finishing the current interface. After that, I have several alternative versions in mind.

  • Test raw TCP/IP sockets
  • Test DNS (Suggested by John Gallagher)
  • Test other network protocols
  • Test cmdline programs

Before implementing too many of these, I would need to look at factoring out the common code (and the common part of the description languages). This would probably make an interesting module for submission to CPAN. Maybe something like Test::Regression. (I'd like something shorter, though)

Acknowledgements

This project would probably never have been done without various members of the Perl community. Particular thanks should go to the authors of the LWP modules and the XML::Parser module. Without their work, this would have required a whole lot more groundwork.

Several programmers at Telescan, Inc. helped to design this software, including John Gallagher, Tuyen Tran, and Rick Hoselton. I also would like to thank Danny Hoover, Roger Wadsworth, and Alex Wyche for examining the business/legal issues and concluding that supplying this script for wider use was in Telescan's best interests.

Valid XHTML 1.0!