Functional and load web tester.
FunkLoad is a functional and load web tester, written in Python, whose main use cases are:
- Functional testing of web projects, and thus regression testing as well.
- Performance testing: by loading the web application and monitoring your servers it helps you to pinpoint bottlenecks, giving a detailed report of performance measurement.
- Load testing tool to expose bugs that do not surface in cursory testing, like volume testing or longevity testing.
- Stress testing tool to overwhelm the web application resources and test the application recoverability.
- Writing web agents by scripting any web repetitive task, like checking if a site is alive.
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 Richard Jones’
- basic authentication support
- cookies support
- emulating a browser cache
- file upload and multipart/form-data submission
- https support
- 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
- green/red color mode
- Turn a functional test into a load test: just by invoking the bench runner you can identify scalability and performance problems.
- Detailed bench reports in ReST or HTML (and PDF via ps2pdf)
- bench configuration
- tests, pages, requests stats and charts.
- 5 slowest requests
- servers cpu usage, load average, memory/swap usage and network traffic charts.
- http error summary list
- Easy test customization using a configuration file or command line options.
- Easy test creation using TestMaker / maxq recorder, so you can use your web browser and produce a FunkLoad test automatically.
- Provides web assertion helpers.
- Provides a funkload.CPSTestCase to ease Zope and Nuxeo CPS testing.
- Easy to use, see examples in the demo folder.