JMeter - Getting 400 Bad Request - jmeter

In JMeter - I am getting 400 bad request.
I have validated the JSON format, JSON request is correct. But showing error in Request body as
Error: "Cannot assign " ": "Address.created_by" must be a "User" instance."
In Header manager- I have included all the correct Content-Type and other headers as well.
Could you please provide a solution for this error?

This is due server side validation failing and server returning 400 - Bad Request. Please check the same request object in Postman or SoapUI

JSON request might be correct but JSON request body seems to be incorrect, cross check your request body with API specification documentation i.e. Swagger UI it might be the case that API contract has changed and your test is sending the request in the "old" format.
Also Taurus framework has a special tool for converting Swagger API definitions into Taurus YAML files which in their turn can be converted into JMeter .jmx scripts

Related

How to fix response issue in jmeter

After adding some data from csv file getting 415 status code in jmeter response. I am getting success in postman for same payload which is present in jmeter sample request header. But in jmeter it's showing error. Error is "{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.13","title":"Unsupported Media Type","status":415,"traceId":"|fc0a70d2-46g24ac7bc010330.fc0a10d3_c9c4264_"}". I configured all the things properly. Please guide me how to fix that issue
You didn't configure at least "one thing" property: HTTP Header Manager. Add it to your Test Plan and set it up to send the same "Content-Type" header as Postman does
Most probably the value should be application/json
Also be aware that if you can successfully execute the request using Postman you can just record the request execution using JMeter's HTTP(S) Test Script Recorder.

Sales force application load testing using JMeter, one of the requests has got response of invalid JSON message

We are using JMeter for salesforce application performance testing and the request information is sent using parameters and one of the parameters holds the Json message and when we execute the request we are getting as
/{"event":{"descriptor":"markup://aura:systemError","attributes":{"values":{"message":"[AuraClientInputException from server] Unexpected request input. Expected input format: "Data in a request must be a valid JSON Object and must be in the expected format."."}}
when i have validated the request using Json format validator it is valid json however when take the request sent from the view result tree it is not a valid json, something went wrong or JMeter has modified the message. anybody has faced this issue any solution is appreciated.
It's hard to say anything without seeing your HTTP Request sampler configuration
Normally if you add your JSON to the "Body Data" tab of the HTTP Request sampler:
and add a HTTP Header Manager configured to send Content-Type header with the value of application/json
the request should reach the server "as it is"
If you have doubts whether your JMeter setup is correct you can just record the relevant request using JMeter's HTTP(S) Test Script Recorder

Post Request getting failed due to webkitformboundary in JMeter

We have a recorded script using Blaze Meter(HTTPS call) and run in JMeter, One POST request getting failed and shows "500 Internal Server error". In Post request, JSON passed in form of "form-Data" as parameter. When endpoint executed we observed Webkitformbounday in HTTP header, Please give some solution for
HTTPs Request
HTTP Header Manager
POST Request Body
enter image description here
It looks like the recording solution you're using isn't very suitable for building proper HTTP POST request, I would suggest the following amendments:
Untick Use multipart/form-data box in the HTTP Request sampler
Remove issueDetail parameter name and put it to the end of "path"
Change Content-Type header value to application/json
Authorization header value might need to be correlated if the token life span is short
More information: Testing SOAP/REST Web Services Using JMeter

Jmeter Response 500 internal server error for request

HI everyone I need a help regarding to fix the 500 internal server error
Please check my below attached requests and correlation and response image
Please tell me if I was wrong in anywhere I keep trying to do the scripts to run and the result was 500 error.
Redirect request:
Https request1:
Data correlation:
Passing parameters:
Sending request details:
Response message:
Looking into Content-Type header of your request it appears that you should be sending a JSON while you're sending parameters in form of name-value pairs
I think you should switch to Body Data tab in the HTTP Request sampler and put your parameters there like:
Also double check your API contract, it might be the case you need to change the method to POST
More information: REST API Testing - How to Do it Right

JMeter Cant make GET HTTP request work, works fine in PostMan

I'm trying to do a GET HTTPS Request via JMeter. It is a simple request with content-type=application/json, and an auth token. Now for unknown reasons it works perfectly without any issues/problems in Postman, but in JMeter I'm getting an error.
I'm new to JMeter so I can only assume I am just setting something incorrectly.
The HTTP Request I am sending is:
https://www.server.com/api/userinfo?fields=['id']
In postman I get a 200 response with the expected JSON response.
In JMeter however, it gives me the error:
Could not parse fields query. Must be valid JSON.
I've tried messing with the 'send parameters with the request' option in JMeter by removing the ?fields=['id'] from the Path, and instead setting them in the parameters area, but that gives me the exact same 400 error response code.
Also, if I use the send parameters section, and I look at the request, it doesn't seem to be using the parameters i've set. So I went back to passing the parameter directly in the URL path.
SOLVED:: The issue is that JMeter does not like the usage of double quotes in the Path field. You can get by this by using %22 in place of double quotes. This solved the problem of not receiving an error when passing the parameter through Path.
Add HTTP Request sampler to your Test Plan
Configure it as follows:
You might also need to add HTTP Header Manager as a child of your request and configure it to send the relevant Content-Type header
The sent data can be verified using View Results Tree listener:
Also be aware that you can easily create a JMeter test from Postman by just recording the request using HTTP(S) Test Script Recorder

Resources