This question already has answers here:
JMeter : How to record HTTPS traffic?
(8 answers)
Closed 4 years ago.
I am facing certificate error when recording HTTP(S) request in jmeter 2.11.
For testing purpose i am using https://www.yahoo.com but the moment i access the URL after starting proxy server,i get the certification error on webpage.
I have installed the jmeter Root-CA certificate multiple times but still no success.
Please advise.
You can try recording your script using JMeter Google Chrome Extension which is capable of recording and exporting JMeter .jmx files right from Google Chrome browser without needing to worry about proxies, certificates, cookies, headers, etc.
N.B. However I'm able to record calls to yahoo.com using HTTPS in my environment (JMeter 2.11 r1554548, Firefox 29.0.1, Java 1.7.0_45, OpenSuSE 13.1 x64).
Related
I am recording a web-based application using jmeter but getting this error:
ERROR o.a.j.p.h.p.Proxy: [52293] Not implemented (probably used https)
java.lang.IllegalArgumentException: Only ASCII supported in headers (perhaps SSL was used?)
at org.apache.jmeter.protocol.http.proxy.HttpRequestHdr.parse(HttpRequestHdr.java:138) ~[ApacheJMeter_http.jar:5.3]
Using chrome browser
Using JMeter Version 5.3
Have downloaded ApacheJMeterTemporaryRootCA.crt certificate also
Have checked env variable also , that is also fine
Using java version 1.8.0_281
We are getting request only when we are entering credential, but after that not getting any request in jmeter recording controller.(It is also not able to login into the application using proxy)
It looks like you told JMeter you will be recording HTTP traffic and you're trying to record HTTPS instead, change schemeToRecord to https and the issues should go away:
Also according to JMeter Best Practices you should always be using the latest version of JMeter so consider upgrading to JMeter 5.5 (or whatever is the latest stable version available at JMeter Downloads page)
And last but not the least, if you're using Chrome you might want to try out JMeter Chrome Extension, in this case you won't have to worry about proxies, protocols and certificates.
The recorded the script and it was working on windows 7 machine. But now the script is not getting executed correctly in windows 10. The result is passed but aftual executions is not taking place. Also I tried to record new script on windows 10 but the script is not getting recorded. I am using the latest jmeter version. Could you please help me.
Jmeter should work fine on windows 10.
Cross check if you are able to access application (with or without proxy). If application is accessible through proxy, you need to open jmeter with proxy command.
Ensure you imported jmeter root certificate in browser.
You need to import JMeter's self-signed certificate into your browser. The file is called ApacheJMeterTemporaryRootCA.crt and it's being created in "bin" folder of your JMeter installation when you start HTTP(S) Test Script Recorder.
Check HTTPS recording and certificates chapter of the above article for the exact steps of certificate installation for different browsers.
Mozilla Firefox and derivatives have their own certificate storage, other browsers use Windows certificate storage, you can inspect it using Certificate Management Tool
If JMeter's certificate is not there - you will need to install it.
Be aware that there is an easier way of recording a JMeter test which doesn't require configuring proxies or installing certificates: JMeter Chrome Extension, just install it, start recording and perform your scenario steps in browser
I am trying to do record a test script using JMeter (version 4) Test Script Recorder for performance testing of my application. After configuring the proxy, The recorder is not recording my application URL running on localhost in Internet Explorer (IE 9). But other URLs are getting recorded in JMeter. I tried to record my application using Chrome which is working fine.I have unchecked the Bypass proxy server for local address in Proxy settings.
I recommend you to use Mozilla Firefox to record your script because Firefox allows you to manage proxies and certificates independently of system settings.
Get more information about recording:
Apache JMeter HTTP(S) Test Script Recorder
JMeter Recording Guide
Make sure to check Use the same proxy server for all protocols box in the "Advanced" tab of the Internet Explorer proxy settings and there are no localhost, 127.0.0.1, etc. in the "Exceptions"
Some applications cannot route traffic to a local proxy server so you may need to add a loopback adapter
If you're recording an application which operates over HTTPS protocol you will need to install JMeter's self-signed certificate into Trusted Root Certification Authorities:
It doesn't really matter which browser you're using for recording as applications mostly differentiate the browsers basing on User-Agent header so you can record using whatever browser and then change User-Agent string in the HTTP Header Manager to IE9
According to JMeter Best Practices you should always be using the latest version of JMeter so consider upgrading to JMeter 5.0 (or whatever is the latest version available at JMeter Downloads page)
Above mentioned privacy error is displaying while I tried to record some scenarios in Apache JMeter 4.0. I have installed ApacheJMeterTemporaryRootCA certificate in my local bin path of JMeter folder and imported in Trusted Root Certification Authorities folder in chrome.
And myself using Chrome : Version 66.0.3359.27 (Official Build) dev (32-bit) to recording purpose in JMeter. Also given 8080 as a port number in both proxy settings in chrome and JMeter - Test Script Recorder.
Still can't understand why I can't record several actions, as I did same thing in previous versions of Apache JMeter. So please let me know the solution for it.
You can use the following workarounds:
Just type badidea anywhere in the page and you will be able to proceed.
Launch Chrome with --ignore-certificate-errors command-line argument
Switch to alternative way of recording a JMeter test using i.e. JMeter Chrome Extension, in this case you won't have to worry about configuring proxies and/or SSL certificates.
Is it possible to record httpS requests of a native app (IOS or Android) with JMeter? I tried some ways that I found but, I've not resolved the problem..
Use jmeter 3 with Java 7 or 8, it creates a crt file in jmeter/bin folder. It is the CA that creates the certificates.
Send this file by mail and open it in Android / iOS then install it.
In test script recorder, put in the dedicated field HTTPS domains , the domains you are trying to hit, see:
-http://jmeter.apache.org/usermanual/component_reference.html#HTTP(S)_Test_Script_Recorder
Restart Ipad/Android and jmeter test script recorder and try again.
to do this, you have to make your device trust the Jmeter Proxy CA.
So, you have to import the Jmeter CA certificate from
$JmeterHome/bin/ApacheJMeterTemporaryRootCA.crt
into the device.
I remember this is an area where things improved a lot recently, so be sure to have the last version installed.
Try deleting ApacheJMeterTemporaryRootCA.crt, JMeter's self-signed certificates have very limited life time (I recall something like 1 week), so if your certificate is older you might have problems installing it into browsers and/or mobile devices or it won't decrypt SSL traffic. The file will be re-created next time you start HTTP(S) Test Script Recorder
There is an alternative way of recording the mobile traffic by using your personal cloud proxy. Moreover, it will perform automatic correlation for you so you won't have to worry not only about SSL certificates, but also about Regular Expression extractor, JMeter Variables, etc. Check out How to Cut Your JMeter Scripting Time by 80% article for details.
If none of the above helps, take the following troubleshooting steps:
Add View Results Tree listener as a child of the HTTP(S) Test Script Recorder. In case of any problems with the recording a request it should display the error details.
Check your mobile device logs during failed certificate installation attempt. You may need to install Android and iOS developer tools for this.
Make sure that your application is really uses HTTP or HTTPS protocols as JMeter supports only these 2.