I don't know how to make JMeter generate specific request and wait for the specific response. Could anyone help me? I'm testing web application. There are specific jobs for data calculations. In my case when I run a job, on UI the progress bar is shown and every second I'm getting intermediate server response. The job calculations time could take up to 1-2 hours.
SUBMIT
• REQUEST:
o POST POST "https:/myserver/web/api/datasets/684/cluster?viz-id=9242"
with payload in json: {"dbType":"unit","columnName":"Type", "version":0,"useWeight":false, "weightColumnName":"", "useWeightAsAttribute":false, "extraAttributes":9, "ignoreColumns":[]}
• RESPONSE:
o {"message":"Ok","result":{"location":"http:/localhost:8000/async/result/340"}}
CHECK
Then I need to get "location" from the response, and keep checking every second or so by posting the location string in the request
• REQUEST:
o "https:/myserver/web/api/datasets/job-status"
with payload as string "http:/localhost:8000/async/result/340"
• RESPONSE:
o {"message":"Ok","result":{"jobId":"340","status":"IN_PROGRESS","taskList":[]}}
and keep checking until I get cacheId in response
• REQUEST:
o POST "https:/myserver/web/api/datasets/job-status
with payload as string "http:/localhost:8000/async/result/340"
• RESPONSE:
o {"message":"Ok","result":{"colimp_data":"web-340.colimp.data","cacheId":1184}}
GET RESULTS
Now parse the last response to get cache id and generate another http request
• REQUEST:
o GET http:/myserver/web/api/cache/1184/colimp_data
• RESPONSE:
o {"columnName":"Type","columns":[
{"column":"sepalWidth","importance":93.13}]}