Functional and load web tester.
Project description
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:
* FunkLoad is free software distributed under the `GNU GPL`.
* 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'
webunit:
- basic authentication support
- cookies support
- referrer support
- fetching css, javascript and images
- emulating a browser cache
- file upload and multipart/form-data submission
- post any kind of content type like ``application/xml``
- https support
- http_proxy 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
- 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 performance problems.
* Detailed bench reports in ReST or HTML (and PDF via ps2pdf)
containing:
- the bench configuration
- tests, pages, requests stats and charts.
- the 5 slowest requests.
- monitoring one or many servers cpu usage, load average, memory/swap
usage and network traffic charts.
- an http error summary list
View a report example http://funkload.nuxeo.org/report-example/test_seam_java6/.
* Differential reports to compare 2 bench reports giving a quick overview of
scalability and velocity changes.
View a diff report example
http://funkload.nuxeo.org/report-example/diff_seam_java_6_vs_5/.
* 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.
* Provides a funkload.CPSTestCase to ease Zope and Nuxeo CPS testing.
* Easy to install (EasyInstall) and use, see examples in the demo folder.
* Works fine with CPS or any Zope application, CherryPy, Nuxeo EP or any
JBoss Seam JSF MyFaces applications.
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:
* FunkLoad is free software distributed under the `GNU GPL`.
* 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'
webunit:
- basic authentication support
- cookies support
- referrer support
- fetching css, javascript and images
- emulating a browser cache
- file upload and multipart/form-data submission
- post any kind of content type like ``application/xml``
- https support
- http_proxy 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
- 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 performance problems.
* Detailed bench reports in ReST or HTML (and PDF via ps2pdf)
containing:
- the bench configuration
- tests, pages, requests stats and charts.
- the 5 slowest requests.
- monitoring one or many servers cpu usage, load average, memory/swap
usage and network traffic charts.
- an http error summary list
View a report example http://funkload.nuxeo.org/report-example/test_seam_java6/.
* Differential reports to compare 2 bench reports giving a quick overview of
scalability and velocity changes.
View a diff report example
http://funkload.nuxeo.org/report-example/diff_seam_java_6_vs_5/.
* 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.
* Provides a funkload.CPSTestCase to ease Zope and Nuxeo CPS testing.
* Easy to install (EasyInstall) and use, see examples in the demo folder.
* Works fine with CPS or any Zope application, CherryPy, Nuxeo EP or any
JBoss Seam JSF MyFaces applications.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
funkload-1.9.0.tar.gz
(106.6 kB
view hashes)
Built Distributions
funkload-1.9.0-py2.5.egg
(237.1 kB
view hashes)
funkload-1.9.0-py2.4.egg
(239.8 kB
view hashes)