I am using jmeter to perform some load testing. this particular test will record how long it takes to get a response from a web service using OAUTH.
I have added the Jmeter Oauth plugin, set up my keys, url and data to be posted etc, however I keep getting an error message within my report
Response code: Non HTTP response code: java.net.URISyntaxException
Response message: Non HTTP response message: Expected closing bracket for IPv6 address at index 14
Has anyone had this error before or does anyone have a good guide on how to use the OAUTH plugin?
Any help appreciated
when i get this error the problem was that i perfix the server name or ip
with http
so if you set server name or ip parameter with for example http://www.google.com you need
to replace it with www.google.co.il namely omit the http://
(you can set the protocol http in the protocol value of http request)
Related
I call a http request,The reponse is html,but gatling get the response is incomplete.What should I do
I think a part of I need that is gatling supported resources.It is under the tag 'table'.
The server may not be returning the complete response due to an error or a problem with the server-side code. In this case, you should check the server logs to see if there are any errors, and you should also check the HTTP response headers to see if there are any indications of what went wrong.
The HTTP request may be failing or being blocked by a firewall or other network security device. In this case, you should check the network logs to see if the request is being sent and received successfully, and you should also check any network security settings to ensure that the request is not being blocked.
The HTML response may not be well-formed or may be missing some elements, such as the 'table' element you mentioned. In this case, you should validate the HTML using a tool such as the W3C HTML Validator, and you should also check the HTML source to ensure that all required elements are present.
User issue, as concluded on the Gatling community forum.
Auth 2.0.
"code" parameter is required to perform
POST /.../oauth2/v2.0/token
with code value.
In Fiddler code value could be found in Location header of response to /kmsi request:
However, here is no Location header in JMeter for the same request:
Why? Are there any tip to get Location header in JMeter too?
If you're seeing different response it means that
Either you're sending a different request. In this case inspect request details from JMeter and from the real browser using a 3rd-party sniffer tool like Fiddler or Burp, identify the inconsistencies and amend your JMeter configuration so it would send exactly the same request as the real browser does (apart from dynamic values which need to be correlated)
Or one of the previous requests fails somewhere somehow, JMeter automatically treats HTTP responses with status codes below 400 as successful, it might be the case they are not really successful, i.e. you're continuously hitting the login page (you can check it by inspecting response data tab of the View Results Tree listener). Try adding a Response Assertions to the HTTP Request samplers so there will be another layer of explicit checks of the response data, this way you will get confidence that JMeter is doing what it is supposed to be doing.
I'm trying to get the HTTP response code in an OnNavigateError event of a TWebBrowser. The StatusCode passed to me is always -2146697211 when it should be 404. What am I missing? I'm using Delphi 10.3.
TWebBrowser uses Microsoft's Internet Explorer, so information about the NavigateError event can be found online.
The explanation of the StatusCode parameter links to "NavigateError Event Status Codes" - there you see your typical 3-digit HTTP status codes, but also additional ones. Your decimal value of -2146697211 is $800C0005 in hexadecimal - both match the INET_E_RESOURCE_NOT_FOUND constant, which again links to another page:
It means "The server or proxy was not found."
Why is this a separate error code and not a HTTP one? Because it happens before HTTP is performed: looking up the IP address to a hostname has failed - nobody knows which IP address the hostname you tried to browse to has. That's what the Domain Name System (DNS) is for. Not being able to get in contact with a server is a different thing than being able and getting a response. HTTP 404 is a reponse. But since you don't even got a response, hence you cannot get a HTTP status code.
Long story short: host not found (instead of "HTTP 404" = host found, but not the page you're looking for). Try it with an address/a hostname that can be actually resolved.
When I send the data to PHP, the browser responds with an error:
Failed to load http://localhost/api/notification/create.php: Response for preflight does not have HTTP ok status.
Here is my code to send the data
This looks like a problem with your CORS implementation. Specifically, you seem to be missing the Http method "options".
You can resolve this by either by:
Implementing CORS correctly in your PHP code. You should prefer this way if your production setup requires you to have the PHP code running on a different domain
or by using the Angular CLI Proxy. You should prefer this way if you only need the different domains (e.g. localhost:4200 for angular and localhost(:80) for PHP)
I have a web application which i need to be load tested using LoadRunner. When I record the website using vugen it works good and there is no any application bug. But when I tried to replay the script, script failed after login and while navigating to next page, say, Transaction. At the end of log, I receive error:
Action.c(252): Error -26612: HTTP Status-Code=500 (Internal Server Error)
for "http://rob.com/common/transaction
Please help me to resolve this error.
LoadRunner generates HTTP request just as your browser does, this error is the same error you would get if you would go to that URL using your browser. Error code 500 is a generic server error that is returned when there is no better (more specific error to return).
Most likely the login process requires some form of authentication which is protected against a replay attack by using some form of token. It is up to you to capture this token using Correlations in LoadRunner and replay it as the server expects. The Correlation Studio in VuGen should detect and identify the token for you but since authentication methods vary it is sometimes impossible to do this automatically and you will have to create manual correlation. Please consult the product documentation for more details on how to do it. If your website is publicly available online then post its URL and I will try to record the script on my machine.
Thanks,
Boris.
Most common reasons
You are not checking each request for a valid result being returned and using a 200 HTTP status as an assumed correct step without examining the content of what is being returned. As a result when data being returned is incorrect you are not branching the code to handle the exception. Go one to two steps beyond where your business process has come off the rails with an assumptive success and you will have a 500 status message for an out of context action occurring 100% of the time.
Missed dynamic element. Record three times. Compare the code. Address the changing components.