Simple Web Testing - Eiffel (swete)

Introduction

Swete provides cross platform console based tools for regression testing of web applications. The tools may be used when refactoring and during development to ensure that new functionality doesn't break previously completed features.

A proxy server (swete_proxy) allows the user to record XML test scripts using any web browser. The expected (text/html) output is stored in files with the test script. The proxy server can also "continue" previously recorded scripts by playing back a script to a designated point and then allowing the user to continue recording the script with their browser.

A test application (swete_test) allows the user to play back XML test scripts and verify that the web application's output remains unchanged. GET and POST requests are supported. Session cookies are handled automatically. The META http-equiv="refresh" tag will delay script execution in accordance with the value specified in the content attribute. Swete_scripts may call other swete_scripts. An option allows the user to instruct the test application to replace the values of hidden inputs recorded in the test script with those received from the server during the test run. The XML test script may be modified to specify expected differences between the server response recorded in the script and the server's response (e.g. ignore a block of text containing a real time stock quote which will change from run to run). If the test application receives an unexpected response from the server it is also saved in a file with the text script. If this unexpected response is due to a valid change in the program (e.g. some text was updated on the page that does not impact the overall page sequence), the test script can be updated by copying this (unexpected response) file over the corresponding expected response file.

Additional Information

Installation and Usage

Developer Information

Source Forge Project Page (for downloads, support, feature requests, cvs access, etc.)

SourceForge.net Logo

Support This Project