JMETER: How to add value from CSV file in Json Extractor? - json

I want to pass value from my csv file in json extractor but it's not working.
I have tried like [?(#.name == '${UserName}')].id but when i am simply writing Username without taking it from CSV then it is working.

Double check that your UserName variable exists and has the anticipated value using Debug Sampler and View Results Tree listener combination
As long as the associated JMeter Variable exists you should be able to use it in the JSON Extractor

Related

Custom Connector ( JSON result convert into Paramters )

List item
I am a newbie in the azure environment. I am getting JSON response from my custom connector but I need to convert that JSON into parameters so I can use these parameters in further actions Can anybody know how is this possible ?
You want to use these parameters in further actions but you don't mention which type it's stored.
1.Stored as string. In this way the whole json is a string, it's not supported to select property. So you need parse it to Json with Parse JSON action then you will be able to select property. About the Parse JSON Schema, just click the Use sample payload to generate schema and paste your json value, it will generate. And select your property just use the #{body('Parse_JSON')?['name']}, it will work.
2.If it's stored as an Object, just use expression variables('test1')['name'] to get it.

How to write a JSON extracted value to a csv file in jmeter for a specific variable

I have a csv file that looks like this:
varCust_id,varCust_name,varCity,varStateProv,varCountry,varUserId,varUsername
When I run the HTTP Post Request to create a new customer, I get a JSON response. I am extracting the cust_id and cust_name using the json extractor. How can I enter this new value into the csv for the correct variable? For example, after creating the customer, the csv would look like this:
varCust_id,varCust_name,varCity,varStateProv,varCountry,varUserId,varUsername
1234,My Customer Name
Or once I create a user, the file might look like this:
varCust_id,varCust_name,varCity,varStateProv,varCountry,varUserId,varUsername
1234,My Customer Name,,,,9876,myusername
In my searching through the net, I have found ways and I'm able to append these extracted variables to a new line but in my case, I need to replace the value in the correct location so it is associated to the correct variable I have set up in the csv file.
I believe what you're looking to do can be done via a BeanShell PostProcessor and is answered here.
Thank you for the reply. I ended up using User Defined Variables for some things and BeanShell PreProcessors for other bits vs. using the CSV.
Well, never tried this. But what you can do is create all these variables and set them to Null / 0.
Once done, update these during your execution. At the end, you can concatenate these with any delimiter (say ; or Tab) and just push in CSV as a single string.
Once you got data in CSV, you can easily split in Ms excel.

Getting multiple values from a single cell in .CSV file in jmeter

How can I read multiple values from a single cell in CSV file in jmeter . I have an excel sheet as .csv input and one of its column has mobile numbers which have 2 or more values.eg
987#765#456 Which sampler should I use.
now I want it to split at # as 987,765,456
To read the csv file in JMeter, use CSV data set config.
Check this link to understand how to use CSV data set config in JMeter.
Lets assume the column name is mobileNo which has the value as 987#765#456.
Use Beanshell preprocessor to replace '#' by ','.
mobileNo = vars.get("mobileNo");
mobileNo = mobileNo.replace("#", ",");
vars.put("mobileNo",mobileNo);
You can use JMeter's __javaScript function to replace all occurences of # with , as follows:
Given that your 987#765#456 bit lives as ${mobileNumber} JMeter Variable:
${__javaScript("${mobileNumber}".split('#').join('\,'),mobileNumber)}
The script above replaces all "at" signs with commas and stores the result in "mobileNumber" JMeter Variable.
To learn more about different JMeter Functions refer to How to Use JMeter Functions post series.

Parameterizing a json for jmeter test

I am running a HTTP request test in jmeter where I send a json input. For example:
{
"attribute1":"lala"
"attribute2":"lala"
}
I need to parametrize this so that for each thread iteration a different value for attribute1 and attribute2 is chosen, possibly from a csv or text file.
Is this possible?
Ofcourse it is possible!!
Add CSV Data Set Config
Update your file path
Parameterize with CSV column name
Update the column names in your JSON to parameterize.
if attr1 is the column 1 - then use ${attr1} to get the value from the CSV
Correction:
The json in abobe image should be
{
"attribute1":"${attr1}",
"attribute2":"${attr2}"
}

Jmeter CSV file for Json

im new to jmeter.
I'm in need to test the performance of some json requests which normally do some insertion or update in db .
I need to change some record id dynamically . For example
{"columnName":"company","newValue":"cts","oldValue":"","timeStamp":"11-05-2012 14:54:24","version":"1"}],"instruction":"contact_list","**recordId**":"8294547"}]}
i want record id should be dynamically get from csv file. so i did like
"recordid":"$recordid"}
But after HIT TO THE SERVER I found in the request THAT the one more time request id was printing after the json loop ends like
{"columnName":"company","newValue":"cts","oldValue":"","timeStamp":"11-05-2012 14:54:24","version":"1"}],"instruction":"contact_list","recordId":"**8294547**"}]}
8294547
which returns to malformed json request.
can u please tell the way to avoid extra appending recordid after the json loop .
above json is not the actual one just i copied the part i need .
You're missing curly braces. The format for inserting a variable in JMeter is ${myVar}, not $myVar.