Front end load testing with PhantomJS/SlimerJS, sponsored by CoScale
Felt is a front-end load tester. It generates load by running a lot of browser instances simultaneously and waiting for the page to finish loading (no more pending resource calls). The tool uses PhantomJS or SlimerJS. You can use Felt to quickly generate load on front end heavy applications. With scenarios you can setup a path through your application for the browsers to follow.
- Load testing
- AngularJS
- React
- Backbone.js
- Ember.js
- Cache warming
- Quick local load tests
- Real browser load testing of web applications
- Works with PhantomJS (webkit) and SlimerJS (firefox)
- Scenarios
- Performance statistics (TODO)
- Statistics (TODO)
- Multi machine load testing (TODO)
- Tested on Python 2.7.10
- Unix based operating system
- Local install of PhantomJS or SlimerJS available in PATH
- Install commentjson (
pip install commentjson
)
-
git clone https://github.com/kidk/felt.git
-
cd felt
-
Download PhantomJS from http://phantomjs.org/download.html
-
Unzip and move PhantomJS executable into felt directory
The felt directory should look something like this: $ ls LICENSE README.md js main.py phantomjs
-
pip install commentjson
-
python main.py --verbose examples/basic.json
-
ctrl + c
to stop
usage: main.py [-h] [--debug] [--verbose] [--threads THREADS] [--test] [--screenshot]
scenario
Start workload.
positional arguments:
scenario
optional arguments:
-h, --help show this help message and exit
--debug enable debug information
--verbose makes generator more verbose
--threads THREADS number of threads to run simultaneously
--test run a scenario only once
--screenshot save screenshot per step
- Samuel Vandamme
- Stijn Polfliet
- Hatem Mostafa