Conclusion and Resources
We've only scratched the surface, but here's a mental exercise that may help prove the importance of what we covered. Suppose we now decide that we must write the itemList page of our application using JavaServer Pages instead of Perl CGI (certainly an all too common occurrence). All that we would have to do to have our existing test plans continue to work with Puffin is to change the configuration of the itemList test actions to use itemList.jsp instead of itemList.cgi. Everything else -- all the existing test plans, etc. would continue to work while you began your conversion tasks.
Now imagine the same situation with 100 pages worth of Web application and tens of different test plans that all roll together into one, complex end-to-end smoke test for the entire Web application. Now instead of rewriting itemList.cgi, you are converting 30 or 40 CGI scripts, or worse, several developers are converting 30 or 40 CGI scripts. You can begin to imagine why Puffin can be a life saver you never even knew you needed.
This article is meant as a brief introduction to all that Puffin will do. We have several more articles worth of testing capabilities to cover including complex test plans, XML/XPath support, and extending the Puffin framework with your own token processors, response analyzers, etc.
Play around with the test plan and Puffin configuration file that we created through this article and read the User's Guide for more information. You should be able to get up and running with your own Web applications in short order.
- Download and uncompress Puffin from the Puffin home page.
- Download and install the appropriate Python distribution for your platform.
- Download and install the PyXML package
for your platform. This open source project includes support for many
XML, XSL, and XPath functions not yet found in the Python distribution.
- Download and install the eGenix base package of Python extensions. eGenix.com provides many free and commercial add-ons for the Python
programming language. Their base package includes such
things as Calendar-like date-time support, an efficient Stack datatype and
several more built-in tools. Puffin uses eGenix for its excellent date-time
- Puffin's logging system uses the
popular log4j design by Vinay Sajip.
- For the programmer new to Python and regular expressions,"Charming Python: Text processing in Python"
summarizes Python's text processing facilities. The article explains
some general concepts of regular expressions and offers advice on when
to use (or not use) regular expressions while processing text (developerWorks, September 2000).
- More practical advice on using regular expressions to search for and modify patterns in text is in the tutorial "Using regular expressions".
The tutorial starts with the basics, and then progresses to
intermediate and advanced topics, with lots of examples along the way (developerWorks, September 2000).
- Find more Linux articles in the developerWorks Linux zone; and more Web services articles in the developerWorks Web services zone.