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.

Features

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

    • https support

    • https with ssl/tls by providing a private key and certificate (PEM formatted)

    • http_proxy support

    • fetching css, javascript and images

    • 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 performance 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.

  • Successfully tested with dozen of differents web servers: PHP, python, Java…

License

FunkLoad is free software distributed under the GNU GPL license.

(C) Copyright 2005-2011 Nuxeo SAS (http://nuxeo.com).

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

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.16.0.tar.gz (158.4 kB view details)

Uploaded Source

Built Distributions

funkload-1.16.0-py2.7.egg (295.3 kB view details)

Uploaded Egg

funkload-1.16.0-py2.6.egg (296.3 kB view details)

Uploaded Egg

File details

Details for the file funkload-1.16.0.tar.gz.

File metadata

  • Download URL: funkload-1.16.0.tar.gz
  • Upload date:
  • Size: 158.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for funkload-1.16.0.tar.gz
Algorithm Hash digest
SHA256 4070820d39cd2e9aeae98632105fb7f093331bff75298c1debf426c93c99db5e
MD5 609e76b4ad65e1a25b5883aa8ede397b
BLAKE2b-256 a052dc11bb3b44110a34ea67f2035835119b2bf378ac863a0c9037b2b1b0b851

See more details on using hashes here.

File details

Details for the file funkload-1.16.0-py2.7.egg.

File metadata

  • Download URL: funkload-1.16.0-py2.7.egg
  • Upload date:
  • Size: 295.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for funkload-1.16.0-py2.7.egg
Algorithm Hash digest
SHA256 0ca1b2e207d3d6827483a16973b4e856fb01c49803534036c657c0599d79623c
MD5 50e63092560812a79edea6fc566f42d5
BLAKE2b-256 31d03b18af4e7349c57a60d17358f863338e11cf92c78f6507f742e32fa7808e

See more details on using hashes here.

File details

Details for the file funkload-1.16.0-py2.6.egg.

File metadata

  • Download URL: funkload-1.16.0-py2.6.egg
  • Upload date:
  • Size: 296.3 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for funkload-1.16.0-py2.6.egg
Algorithm Hash digest
SHA256 57c5d7d3a02a7c26e7351143a737d6688a4b77571ceff7c1913c80e8b2b04062
MD5 50b8d3c856f8316f00e52e861f047534
BLAKE2b-256 da1e1bb887924265ccde5436ef71387b92084e7f9f32120e76bf96e50e974f58

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