What is WebRobot

WebRobot is a data driven http client heavily based on LWP. It can be used

  • for automating http requests

  • for a kind of web based unit tests

  • for (limited) stress tests of web servers

  • for analyzing http communication

How to use it

  • You define your requests in an XML file, possibly with additional information like a description or an assertion. This is called to be a test plan. See WWW::Webrobot::pod::Testplan.

  • You configure WebRobot (proxies, authentification, ...) with a simple properties file. See WWW::Webrobot::pod::Config.

  • You run webrobot with your test plan and configuration file.

  • You inspect the output in text or html form depending on the output listeners in use. See WWW::Webrobot::pod::OutputListeners.

Some features

  • The test plan format is XML. The plan to be processed includes a list of http/https requests. POST requests will be feeded with data.

  • Display of http request/response header.

  • Assertions for http responses: Some predicates and boolean operators (extendable).

  • Multiple requests out of a single one, eg. additionally request the images and frames (extendable).

  • Linkchecker included (a special module for multiple request). Predicates and boolean operators for the links to be followed.

  • Output listeners (extendable): HTML, Text, Test::Harness

  • Property file for the client configuration (proxy, basic authentification, http header, timeout, ...)

  • Cookie behaviour control (on, off, clear)

  • Including test plans: For better maintainability a plan can include any other plans.

  • Plans are parameter enabled (names). The names are set by the calling plan or the config file.

  • Single client instance emulating multiple users (deterministic access).

  • Multiple client instances for load test (unix like operating systems only).

  • Sending mail when the execution of the plan is terminated.


Most bug descriptions are annotated at the desired place.


The software runs pretty stable and is in use for quality assurance.

Some interfaces or formats have recently changed and may change in the future. I try to avoid incompatible changes or at least I'll document incompatibilities. See the Changes file in the distribution.


The Webrobot support page. It contains screenshots, tutorials, documentation and downloads.


How do you configure Webrobot? It is similar to any web browser. An example is in the distribution t/example/cfg.prop.


What is the format of a test plan? An example is in the distribution t/example/testplan.xml.


How do you configure the output of Webrobot? You may use one of the delivered packages or write your own (very simple).


How can you make multiple requests out of one? You may use one of the delivered packages or write your own (not that simple). An example how to use the linkchecker module is in the distribution t/example/linkchecker.xml.


Stefan Trcek


Copyright(c) 2004 ABAS Software AG

This software is licensed under the perl license, see LICENSE file.