I am trying to log into a local OpenFire XMPP server through JMeter. I've followed tutorials and have my XMPP Samplers inside JMeter. The Connect one is fine. The log in one gives me an error of SmackException$NoResponseException: null.
I'm thinking it has something to do with certificates or some sort, which is why it's unable to log in. When I use a GUI client like Pidgin to log in, I have to accept certificates (which are the default ones, so self-signed I'm guessing) but this is timing out and giving me that response. How can I bypass this?
Looking into XMPP Plugin source code it appears that it should accept all the certificates no matter of their validity just like JMeter does for HTTP Request samplers so the issue must be somewhere else
Try increasing logging verbosity for the XMPP plugin by adding the next line to log4j2.xml file (lives in "bin" folder of your JMeter installation)
<Logger name="com.blazemeter.jmeter.xmpp" level="debug" />
and on JMeter restart you should see way more information regarding what's going on in jmeter.log file
Going forward be aware that it's possible to import self-signed certificates into JVM truststore and point JMeter to the truststore by javax.net.ssl.trustStore property
Related
Im using apache jmeter 5.3
My remote service requires client certificate when making calls.
I followed the steps pointed in this article[1] (Options-->SSL manager , and selected my cert, provided password)
But still I get 403. Anyone can help?
Same certificate is working when I configure it via Postman.
[1]https://jmeter.apache.org/usermanual/component_reference.html#SSL_Manager
HTTP Status code 403 means "Forbidden", in other words:
The server recognizes the user as the valid one (authentication passes)
However the server doesn't allow the user to access the particular resource (authorization fails)
Also be aware that SSL Manager will work in GUI mode only, if you're running your test in command-line non-GUI mode you will need to put the path to the keystore and the password into system.properties file, see How to Set Your JMeter Load Test to Use Client Side Certificates article for more details.
In case of problems take a look at jmeter.log file, normally it contains sufficient amount of troubleshooting information, if it doesn't - your can always increase log level verbosity for the component(s) you're interested in.
I'm new in JMeter and my topic seems to be very similar to another ones already existing. However, it is not - I was trying already all the solutions for the errors that I get and nothing works :/
I have already set up all proxy settings and certificates, and it's working fine (with the same settings) on the other VM.
Outside the recording, I can see proper 'No Internet' warning:
enter image description here
However, once started recording, there are errors in the console and the front end of the application does not look like originally:
enter image description here
Please help! I've already done all the recommendations for clearing caches, SSL, removing files in Windows32 archive and so on...
You should try recording your script using Blazemeter Chrome Extension. Hope, this resolve your issue.
It might be the case there are differences in machines themselves, not in JMeter settings, for example this No Internet message most probably means that the browser is connected to JMeter's proxy server, but JMeter itself cannot connect to the internet.
Try creating a simple manual Test Plan with a single HTTP Request sampler to open http://example.com website. If the request will be successful - you will need to double check your browser and JMeter configuration. However if you get the UnknownHostException instead it may mean that:
Networking configuration of the machine is incorrect (it cannot access the Internet)
The machine requires an upstream Proxy server in order to be able to access Internet resources so you will need to make JMeter aware of this proxy server by passing appropriate command line arguments to the JMeter startup script:
jmeter -E https -H my.proxy.server -P 8000 -u username -a password -N localhost
in order to make the changes permanent you can define:
http.proxyScheme
http.proxyHost
http.proxyPort
https.proxyHost
https.proxyPort
in system.properties file and http.proxyDomain in user.properties file, check out Apache JMeter Properties Customization Guide for more information on JMeter properties and ways of setting and overriding them
I have set up a proxy server and trying to record a script by adding "http script recorder", but the problem is I am able to access a website but not able to login.
my website has been loaded but once I enter credentials and click on the login button then a website is not behaving, login button also not responding.
In case of any problems with JMeter first of all you should look at jmeter.log file, if anything goes wrong JMeter normally writes an error message to this log file which in majority of cases is enough to get to the bottom of the issue.
With regards to your problem, my expectation is that login normally uses HTTPS protocol and you need to perform some extra configuration so JMeter would be able to intercept and decrypt HTTPS traffic.
You need to install JMeter's self-signed certificate to your browser, the file is called ApacheJMeterTemporaryRootCA.crt and it's being generated in "bin" folder of your JMeter installation when you start JMeter proxy.
You just need to import it into your browser and it should resolve you issue. Follow your browser documentation to learn more about certificates installation processes, some hints are also given in the HTTPS recording and certificates chapter of the HTTP(S) Test Script Recorder JMeter User Manual entry.
Alternative way is using JMeter Chrome Extension, in this case you won't have to worry about proxies and certificates so the recording process will be faster and easier.
I have to do performance test of a web based application through Jmeter. To connect to the application , I have to be in Client VPN and it has specific proxy to connect. The application will NOT work in Local host..
How to perform this? I tried by running Jmeter from command prompt . Please help .
You can configure JMeter to use proxy in 2 ways:
Command-line
jmeter -H your_proxy_host -P your_proxy_port
Using system.properties (the file lives under "bin" folder of your JMeter installation, add the next lines to it:
http.proxyHost=your_proxy_host
http.proxyPort=your_proxy_port
https.proxyHost=your_proxy_host
https.proxyPort=your_proxy_port
JMeter restart will be required to pick the properties up.
First check that you have the correct proxy parameters like Proxy Server IP/address,port no,username and password.
Then, in the first HTTP Request, click on advanced tab and there you find Proxy server section.
Fill the required information and run the jmeter. Based on the response you can judge where you are able to send the request via proxy or not.
I have used it with proxy server name with username and pwd. For me it worked, by that I means you can try by whatever information you have.
Then, you can set the properties permanently as suggested by Dmitri. Also, it can be set in HTTP Request Default Config.
Check the below link for more information:-
https://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request
In Jmeter, I am not able to record any external website from our company proxy server.
I have to use option "Automatic proxy configuration URL" (i.e one .pac file )in to browser if I dont know how to configure it in Jmeter to do successful recording.
Any idea?
PAC fiels contain javascript which is executed by the browser to decide which proxy URL they want to use. JMeter is not a browser so it does not run this code. The solution is simply to resolve which proxy this script returns and input this value into JMeter directly, you can do this using the dev tools on most browsers, or just ask the IT dept. that maintains the thing to tell you the direct address.
Same question with solution in Jmeter mailing archive.
Jmeter: Using a Proxy Server.