after recording using fiddler can we check whether the post parameters of a request are encoded or not - jmeter

My requirement is to know whether the post parameter in a request that is recorded in fiddler is encoded or not so that i can accordingly use it in Jmeter.
I tried recording a scenario in fiddler and i am able to find the post parameters for the requests sent, but I am not able to find whether a post parameter is encoded when request is sent to the server or not.
For example:
Consider the below is my post data of my request captured which has three parameters with respective values(name1,name2,name3 and value1, value2, value3 respectively)
Suppose i capture the same request using Jmeter, we will easily know whether the post parameter is encoded or not as the encode? column will be checked in case of encoding or uncecked if not encoded.
Similarly can we find whether a post parameter is encoded in fiddler, Can anyone help.

You can check the TextView tab in fiddler which will show you if the parameters are encoded or not, and then apply the same thing to your Jmeter script.
If you cant find that in the TextView tab then check the Raw tab which will show the full request you sent and check there if the parameters were encoded or not.

Related

How I extract the x-csrf-token in request header and pass to post https request in jmeter?

I can't extract the x-csrf-token and pass . I got error like csrf token expired [![enter image description here]
Anyone give some exact ans and support.
Your question doesn't contain sufficient level of details so it cannot be answered comprehensively.
First of all check your ${x} JMeter Variable value using Debug Sampler and View Results Tree listener combination
Then check the request header using the aforementioned View Results Tree listener. The token should be exactly the same as the one returned in the previous request.
Also it seems that your token comes in JSON-like structure, JSON is not a regular language so it would be a better idea considering using JSON Extractor instead of Regular Expression Extractor

post data with value showing valid response data but same value from regular expression is not showing valid response data in jmeter

When manually entering value in below parameters, it's working fine and showing a valid response.
Below post shows data when values are manually entered:
POST https://qatbagp523.unix.gsm1900.org/wcs/resources/store/11151/quoteHandler/syncQuote
POST data:
{
"opportunityId":"92456",
"quoteNumber":"54044"
}
[no cookies]
But same value captured from regular expression will not show valid response data
Below post data values captured from regular expression
POST https://qatbagp523.unix.gsm1900.org/wcs/resources/store/11151/quoteHandler/syncQuote
POST data:
{
"opportunityId":"92456",
"quoteNumber":"54044"
}
[no cookies]
Even same post data values but manually entered post data is showing valid response but regular expression captured post data is not showing valid response
I observed headers and other valuesm there is no change, could any please resolve how to get response and what could be the cause for this type of issues
Given you send the same requests you should be getting the same responses, if you have different responses - most probably you're sending different requests
Compare 2 requests using View Results Tree listener, they should be exactly the same in terms of request body, request headers, etc.
Check the variable which is stored by the Regular Expression Extractor using Debug Sampler, it might the case there are extra spaces, line breaks, etc.
Use a third-party external sniffer tool like Wireshark or Fiddler as View Results Tree listener doesn't always tell the full story
If you won't be able to figure out the root cause of the issue - consider saving all the request and response data for both Samplers and update your question with the XML file containing these details.

Url encoding using Jmeter

I am getting the response,and i want to send this value encode and next request,in UI i tried check encoded,looks still not working fine,is there any other way we can encode the response value.
In the screenshot in getrooms response i will get rate_id in decoded,so this value i have to encode and send in next request,please help
The response rate_id encoded value have to send in next call price check as a param.
Encode rate_id value.
"rate_id":"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"
It is not possible to come up with the comprehensive solution without seeing the full encoded data in text form, not as the image so consider extracting this rate_id from the response using JSON Extractor
It might be the case it's something easy like Base64, in that case you can use i.e. __base64Decode() function
Otherwise you need to determine the algorithm and once done you will be able to decode the data using JSR223 PostProcessor

How to get URL having ".../?where={'key1' : 'value1' , 'key2' : 'value2':.........}" in Jmeter http request

I need to load test one Python api in below URL format:
//IP:PORT/Sub_Part/?where={"KEY1":"VALUE1","KEY2":"VALUE2","KEY3":"VALUE3"}
I tried to pass the key value pair through csv as well as directly in http request but getting error message.
java.net.URISyntaxException: Illegal character in query at index 47:
http://IP:PORT/Sub_Part/?where={"KEY1":"VALUE1","KEY2":"VALUE2","KEY3":"VALUE3"}
Here key and value are dummy data I have placed here for easy understanding.
Please help me with correct syntax for this URL.
Thanks in advance for all your help.
In REST APIs, JSON objects are typically sent (POST) or returned in the body of the request. They are not typically encoded as part of the URL.
For a GET request, you can either pass the information as segments in the url or as querystring parameters.
For more details refer here, How to send a GET request with a "/" in the query
As per HTML URL Encoding Reference:
URLs can only be sent over the Internet using the ASCII character-set.
so you need to define the request in JMeter's HTTP Request sampler as follows:
Pay attention to URL Encode? checkbox, it has to be ticked otherwise the parameter will be sent "as is"
Another option is using __urlencode() function like:
http://IP:PORT/Sub_Part/?where=${__urlencode({"KEY1":"VALUE1"\,"KEY2":"VALUE2"\,"KEY3":"VALUE3"})}
which will generate an encoded sequence which you could use in the URL path:
%7B%22KEY1%22%3A%22VALUE1%22%2C%22KEY2%22%3A%22VALUE2%22%2C%22KEY3%22%3A%22VALUE3%22%7D
as you can see, all non-ASCII characters where removed.
Check out Apache JMeter Functions - An Introduction to learn more about JMeter Functions concept.

Jmeter is converting '#' in the Password into junk character

I am recording Login in Jmeter. Password has '#'. Jmeter recorded exact string but when i run the same, '#' is converted to '%40ss' and login is getting failed(login is failing even if i pass parameters through csv file). But if we pass parameters through jmeter Body Data, Login is successful. I dont want to pass through Body Data, i want to send parameters through CSV file. How to achieve this. Please find the attachments
Recorded and Response
My expectation is that it is only a matter of representation, i.e. when I run similar request using a sniffer tool like Wireshark I can see # sign as a part of form data.
Most probably your problem lies somewhere else, i.e. you haven't correlated this __RequestVerificationToken or haven't added HTTP Cookie Manager.
When it comes to load testing ASP.NET web applications you cannot just record and replay your test, you need to perform correlation of dynamic parameters, check out ASP.NET Login Testing with JMeter article for more details.
Lakshmikanth, when you are passing any special character in parameters values then JMeter converts that character into percent-encoding for eg. '#' converts to '%40', '!' converts to '%21'.
To overcome this issue you can pass your password as it is [say P#ssword] in the .csv file but in your request you need to uncheck the encode checkbox corresponding to your password parameter.

Resources