Load test tool allows user to make HTTP request for given parameters. Built based on Vertx & Java 8.
java -jar -Ddata.files.path=/var/opt/path_to_csv_file_containing_dynamic_parameters.csv http-load-test-tool-1.0-SNAPSHOT-fat.jar
-Ddata.files.path=path_to_csv_file -Drun.in.named.pipe.test.mode=true -Dkerberos.config.path=C:/kerberos-config.json
Given below sample Kerberos config JSON.
{
"pipeNames":[
"sample-1",
"sample-2"
],
"durationInSeconds":10,
"requestsPerSecond":5,
"principle":"some_principle",
"password":"some_password",
"spn":"some_spn"
}
{
"durationInSeconds" : 700000,
"useBasicAuth" : true,
"basicAuthUser" : "test",
"basicAuthPassword" : "test",
"rampUpTimeInSeconds" : 20,
"httpClientInstances" : 10,
"enableMutualAuth" : true,
"certOptionsForMutualAuth" : [
{
"path" : "absolute_path_to_cert_1",
"password" : "password_for_cert_1"
},
{
"path" : "absolute_path_to_cert_2",
"password" : "password_for_cert_2"
}
],
"testType" : "REQUEST_PER_SECOND",
"path" : "/Path-To-Service-Endpoint",
"remoteHosts" : [
"https://localhost:8443",
"https://localhost:8444",
"https://localhost:8445"
],
"commonParameters" : [
{
"name" : "Dynamic-Param1",
"value" : "###"
},
{
"name" : "Dynamic-Param2",
"value" : "###"
},
{
"name" : "Dynamic-Param3",
"value" : "###"
}
],
"userAgentHeaders" : [
"Apple-iPod5C1-1104.1111",
"Apple-iPod5C1-1104.2222",
"Apple-iPod5C1-1104.3333",
"Apple-iPod5C1-1104.4444",
"Apple-iPod5C1-1104.5555"
],
"remoteOperations" : [
{
"httpMethod" : "OPTIONS",
"requestFilePath" : "absolute_path_to_request_file",
"operationType" : "Give-It-Some-Unique-Name-1",
"loadRequestsPerSecond" : 5,
"parameters" : [
{
"name" : "Static-Param-Name-1",
"value" : "Static-Param-Value-1"
}
]
},
{
"operationType" : "Give-It-Some-Unique-Name-2",
"loadRequestsPerSecond" : 5,
"parameters" : [
{
"name" : "Static-Param-Name-2",
"value" : "Static-Param-Value-2"
}
]
},
{
"operationType" : "Give-It-Some-Unique-Name-3",
"loadRequestsPerSecond" : 1,
"parameters" : [
{
"name" : "Static-Param-Name-3",
"value" : "Static-Param-Value-3"
}
]
}
]
}