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.
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_:
application/xml
Advanced test runner with many command-line options:
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:
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...
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.
.. _FunkLoad: http://funkload.nuxeo.org/
.. _Org-mode: http://orgmode.org/
.. _TCPWatch: http://hathawaymix.org/Software/TCPWatch/
.. _webunit: http://mechanicalcat.net/tech/webunit/
.. _pyUnit: http://pyunit.sourceforge.net/
.. _API: api/index.html
.. Nuxeo: http://www.nuxeo.com/
.. python cheese shop
: http://www.python.org/pypi/funkload/
.. EasyInstall: http://peak.telecommunity.com/DevCenter/EasyInstall
.. GNU GPL
: http://www.gnu.org/licenses/licenses.html#GPL
.. _doctest: http://docs.python.org/lib/module-doctest.html
.. _demo: https://github.com/nuxeo/FunkLoad/tree/master/src/funkload/demo/
.. Local Variables: .. mode: rst .. End: .. vim: set filetype=rst: