Basic http stressor tool focused on Rest Apis.
You just need 5 minutes to get valuable information related to your APIs timing.
1.0.5
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
What things you need to install the software and how to install them
java 1.8 or later
You can find more detailed instructions on wiki
- Download latest stressify.jar from here
java -jar stressify.jar
- File > New Project
- Select some method: get, post, put, delete, enter your url and headers like postman
- In the body tab, enter whatever you need but string
- In Assert Response Script tab, left empty or add something like this to ensure that exist a property in your json with name as key and Duke as value:
def status = jsonPath('$.name')
assertThat(status).isEqualTo('Duke')
- In settings you must select the report destination, report name and if you want charts:
- Finally enter the number of virtual users, select the stress mode(sequential/parallel) and press Start Stress button:
Every time you press the Start Stress button, you will have these files:
csv and xlsx files which contain valuable data of the stress execution:
Columns description
field | description |
---|---|
id | unique id of each http request |
startDate | start date of http request |
endDate | end date of http request |
responseStatus | status of http request |
totalExecutionMillisTime | how long did the http invocation take |
log | message when an error is detected on each http invocation |
log file which contain the log of each request and or the errors. You can search here using the id of the csv file
stats.json file which contain a summary of the stress. Useful for the future html reports:
{
"totalInvocations" : 10,
"response200Count" : 10,
"responseNon200Count" : 0,
"assertsTrueCount" : 10,
"assertsFalseCount" : 0,
"averageResponseTimeMillis" : 851
}
png file will contain a basic average chart (users vs response time). Red line is the real data and blue the average:
You can use the following jockers on any part of the request (url, header, body) to inject dynamic values instead the same value for all request
name | description |
---|---|
randPosInt | positive random integer |
randPosDoub | positive random double |
uuid | random string |
Body Example:
{
"id" : "${uuid}",
"age" : "${randPosInt}",
"money" : "${randPosDoub}"
}
More complex settings and asserts are in the wiki
- word and pdf reports
- coverage more than 95%
- more variables
- tutorials
- wiki
JRichardsz |
This project is licensed under the Apache License V2 License - see the LICENSE file for details