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 details)
Built Distributions
funkload-1.9.0-py2.5.egg
(237.1 kB
view details)
funkload-1.9.0-py2.4.egg
(239.8 kB
view details)
File details
Details for the file funkload-1.9.0.tar.gz
.
File metadata
- Download URL: funkload-1.9.0.tar.gz
- Upload date:
- Size: 106.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d21be085e677e81f1a0821493440bb09782d87e99227a97e68e4ed0ddb434614 |
|
MD5 | ff3641edd39a4b6125faf170c9c8d058 |
|
BLAKE2b-256 | 6b882969188bd24ca26d3d0aa3757a0d47deffdd8b78f6549e70343d7120441b |
File details
Details for the file funkload-1.9.0-py2.5.egg
.
File metadata
- Download URL: funkload-1.9.0-py2.5.egg
- Upload date:
- Size: 237.1 kB
- Tags: Egg
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd4caf062d9fab33c6e3505916b948420a879c5f247b81e3947f12544bff79ec |
|
MD5 | 9a454a2496abc43de62f8f3ec3e2a156 |
|
BLAKE2b-256 | 10508611416c83b2d0e45531749993d2f346648b8c366dd3ae837400a92a5f11 |
File details
Details for the file funkload-1.9.0-py2.4.egg
.
File metadata
- Download URL: funkload-1.9.0-py2.4.egg
- Upload date:
- Size: 239.8 kB
- Tags: Egg
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 132f6c7f72c3f47c016fa7d360e5c5d35c8ec042c5b1bfb66e58fc301943df83 |
|
MD5 | 255f6954eac854e08ed9fbc2bba48aa3 |
|
BLAKE2b-256 | 3d532a91d615f430cd70816460af3b6176acbf229b25ec7fc1766dfc9506a245 |