Good, all round functional and load web tester – recommended. Successfully tested with dozen of differents web servers: PHP, python, Java…
FunkLoad is a functional and load testing tool, written in Python, whose main use cases are functional and regression testing of web projects, performance testing by loading the web application and monitoring your servers, load testing to expose bugs that do not surface in cursory testing, and stress testing to overwhelm the web application resources and test the application recoverability, and writing web agents by scripting any web repetitive task, like checking if a site is alive.
OS independent – except for the monitoring which is Linux specific.
Main FunkLoad features are:
- Functional test are pure Python scripts using the pyUnit framework like normal unit test. Python enable complex scenarios to handle real world applications.
- Truly emulates a web browser (single-threaded) using an enhanced Richard Jones’ webunit:
- get/post/put/delete support
- post any kind of content type like application/xml
- DAV support
- basic authentication support
- file upload and multipart/form-data submission
- cookies support
- referrer support
- accept gzip content encoding
- https support
- https with ssl/tls by providing a private key and certificate (PEM formatted)
- http_proxy support
- emulating a browser cache
- Advanced test runner with many command-line options:
- set the target server url
- display the fetched page in real time in your browser
- debug mode to display http headers
- check performance of a single page (or set of pages) inside a test
- green/red color mode
- select or exclude tests cases using a regex
- support normal pyUnit test
- support doctest from a plain text file or embedded in python docstring
- Turn a functional test into a load test: just by invoking the bench runner you can identify scalability and software performance testing problems. If needed the bench can distributed over a group of worker machines.
- Detailed bench reports in ReST, HTML, Org-mode, PDF (using LaTeX/PDF Org-mode export) containing:
- the bench configuration
- tests, pages, requests stats and charts
- the requets that took the most time
- monitoring one or many servers cpu usage, load average, memory/swap usage and network traffic charts
- an http error summary list
- Differential reports to compare 2 bench reports giving a quick overview of scalability and velocity changes.
- Trend reports to view the performance evolution with multiple reports.
- Easy test customization using a configuration file or command line options.
- Easy test creation using embeded TCPWatch as proxy recorder, so you can use your web browser and produce a FunkLoad test automatically, including file upload or any ajax call.
- Provides web assertion helpers to check expected results in responses.
- Provides helpers to retrieve contents in responses page using DOM.
- Easy to install (EasyInstall).
- Comes with examples look at the demo folder.