How to extract an ID from JSON response and use it as path variable in another HTTP requests in JMeter
I have a requirement where I will run a search API which will return me a list of object, each with unique 'facilityID'. I need to create a list of them and use them in another HTTP Delete Request. I have to pass the values as path variable and there are multiple simultaneous threads.
Example:
Search API return following IDs: [18c2, 77v3, 45f1]
Now in my Delete HTTP Request, different threads should fetch an Id from the list and bind it to the path variable of the URL.
I read about JSON extractor and am using following expression in Search API,
$.result[*].facilityId
This should return me the list, but how do I make sure that each thread should pick one value from it and hit the API?
java testing jmeter performance-testing jsonpath
add a comment |
I have a requirement where I will run a search API which will return me a list of object, each with unique 'facilityID'. I need to create a list of them and use them in another HTTP Delete Request. I have to pass the values as path variable and there are multiple simultaneous threads.
Example:
Search API return following IDs: [18c2, 77v3, 45f1]
Now in my Delete HTTP Request, different threads should fetch an Id from the list and bind it to the path variable of the URL.
I read about JSON extractor and am using following expression in Search API,
$.result[*].facilityId
This should return me the list, but how do I make sure that each thread should pick one value from it and hit the API?
java testing jmeter performance-testing jsonpath
add a comment |
I have a requirement where I will run a search API which will return me a list of object, each with unique 'facilityID'. I need to create a list of them and use them in another HTTP Delete Request. I have to pass the values as path variable and there are multiple simultaneous threads.
Example:
Search API return following IDs: [18c2, 77v3, 45f1]
Now in my Delete HTTP Request, different threads should fetch an Id from the list and bind it to the path variable of the URL.
I read about JSON extractor and am using following expression in Search API,
$.result[*].facilityId
This should return me the list, but how do I make sure that each thread should pick one value from it and hit the API?
java testing jmeter performance-testing jsonpath
I have a requirement where I will run a search API which will return me a list of object, each with unique 'facilityID'. I need to create a list of them and use them in another HTTP Delete Request. I have to pass the values as path variable and there are multiple simultaneous threads.
Example:
Search API return following IDs: [18c2, 77v3, 45f1]
Now in my Delete HTTP Request, different threads should fetch an Id from the list and bind it to the path variable of the URL.
I read about JSON extractor and am using following expression in Search API,
$.result[*].facilityId
This should return me the list, but how do I make sure that each thread should pick one value from it and hit the API?
java testing jmeter performance-testing jsonpath
java testing jmeter performance-testing jsonpath
asked Dec 31 '18 at 9:42
rjmike29rjmike29
348
348
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I assume you came up with the correct JSON Extractor configuration and got the following JMeter Variables, i.e. you can observe the next values for the Debug Sampler in the View Results Tree listener
facilityId_1=18c2
facilityId_2=77v3
facilityId_3=45f1
facilityId_matchNr=3
If your goal is to run Delete requests concurrently for each thread - you can consider using __V() and __threadNum() functions combination - this way each JMeter thread will delete its own facilityId
Check out Here’s What to Do to Combine Multiple JMeter Variables for more information if needed.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53985917%2fhow-to-extract-an-id-from-json-response-and-use-it-as-path-variable-in-another-h%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I assume you came up with the correct JSON Extractor configuration and got the following JMeter Variables, i.e. you can observe the next values for the Debug Sampler in the View Results Tree listener
facilityId_1=18c2
facilityId_2=77v3
facilityId_3=45f1
facilityId_matchNr=3
If your goal is to run Delete requests concurrently for each thread - you can consider using __V() and __threadNum() functions combination - this way each JMeter thread will delete its own facilityId
Check out Here’s What to Do to Combine Multiple JMeter Variables for more information if needed.
add a comment |
I assume you came up with the correct JSON Extractor configuration and got the following JMeter Variables, i.e. you can observe the next values for the Debug Sampler in the View Results Tree listener
facilityId_1=18c2
facilityId_2=77v3
facilityId_3=45f1
facilityId_matchNr=3
If your goal is to run Delete requests concurrently for each thread - you can consider using __V() and __threadNum() functions combination - this way each JMeter thread will delete its own facilityId
Check out Here’s What to Do to Combine Multiple JMeter Variables for more information if needed.
add a comment |
I assume you came up with the correct JSON Extractor configuration and got the following JMeter Variables, i.e. you can observe the next values for the Debug Sampler in the View Results Tree listener
facilityId_1=18c2
facilityId_2=77v3
facilityId_3=45f1
facilityId_matchNr=3
If your goal is to run Delete requests concurrently for each thread - you can consider using __V() and __threadNum() functions combination - this way each JMeter thread will delete its own facilityId
Check out Here’s What to Do to Combine Multiple JMeter Variables for more information if needed.
I assume you came up with the correct JSON Extractor configuration and got the following JMeter Variables, i.e. you can observe the next values for the Debug Sampler in the View Results Tree listener
facilityId_1=18c2
facilityId_2=77v3
facilityId_3=45f1
facilityId_matchNr=3
If your goal is to run Delete requests concurrently for each thread - you can consider using __V() and __threadNum() functions combination - this way each JMeter thread will delete its own facilityId
Check out Here’s What to Do to Combine Multiple JMeter Variables for more information if needed.
answered Dec 31 '18 at 10:13
Dmitri TDmitri T
71.1k33660
71.1k33660
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53985917%2fhow-to-extract-an-id-from-json-response-and-use-it-as-path-variable-in-another-h%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown