Skip to main content

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.

Project details


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)

Uploaded Source

Built Distributions

funkload-1.9.0-py2.5.egg (237.1 kB view details)

Uploaded Egg

funkload-1.9.0-py2.4.egg (239.8 kB view details)

Uploaded Egg

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

Hashes for funkload-1.9.0.tar.gz
Algorithm Hash digest
SHA256 d21be085e677e81f1a0821493440bb09782d87e99227a97e68e4ed0ddb434614
MD5 ff3641edd39a4b6125faf170c9c8d058
BLAKE2b-256 6b882969188bd24ca26d3d0aa3757a0d47deffdd8b78f6549e70343d7120441b

See more details on using hashes here.

File details

Details for the file funkload-1.9.0-py2.5.egg.

File metadata

File hashes

Hashes for funkload-1.9.0-py2.5.egg
Algorithm Hash digest
SHA256 cd4caf062d9fab33c6e3505916b948420a879c5f247b81e3947f12544bff79ec
MD5 9a454a2496abc43de62f8f3ec3e2a156
BLAKE2b-256 10508611416c83b2d0e45531749993d2f346648b8c366dd3ae837400a92a5f11

See more details on using hashes here.

File details

Details for the file funkload-1.9.0-py2.4.egg.

File metadata

File hashes

Hashes for funkload-1.9.0-py2.4.egg
Algorithm Hash digest
SHA256 132f6c7f72c3f47c016fa7d360e5c5d35c8ec042c5b1bfb66e58fc301943df83
MD5 255f6954eac854e08ed9fbc2bba48aa3
BLAKE2b-256 3d532a91d615f430cd70816460af3b6176acbf229b25ec7fc1766dfc9506a245

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page