I am recording a https session of a web application in JSF on JMeter and not working.
Target application hosted on: AWS
JMeter Version: 2.9 r1437961
Browser: Chrome Version 29.0.1547.65
Java: java version "1.6.0_27"
OpenJDK workspace (IcedTea6 1.12.5) (6b27-1.12.5-0ubuntu0.12.04.1)
OpenJDK Server VM (Build 20.0-b12, Mixed Mode)
OS: Ubuntu 12.04
Proxy Configuration:
Port: 8084
Target Controller: Test Plan> Thread Group
Capturing HTTP headers. HTTP Sample Settings:
Type: not selected. Watch for redirects and use KeepAlive.
URL patterns to exclude:
1. Added sentence Exclude
2 .. * \. Jsf
Exceptions that are thrown (from JMeter.log):
ERROR - jmeter.protocol.http.proxy.Proxy: java.net.SocketException: Connection closed by remote host at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1377) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:62) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:404) at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:218) ERROR - jmeter.protocol.http.proxy.Proxy: Problem with SSL certificate? Ensure browser is set to accept the JMeter proxy cert: Connection closed by remote host java.net.SocketException: Connection closed by remote host at sun.security.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1377) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:62) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.apache.jmeter.protocol.http.proxy.Proxy.writeToClient(Proxy.java:404) at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:218)
The steps I follow are as follows:
1. Install a proxy server pointing to 8084.
2. Change the proxy server settings: Set the https proxy to 8084.
3. Disable all chrome extensions and the chrome account.
4. Launched the jmeter proxy and clicked https://url/login
5. The certificate confirmation page appears in the browser. Meanwhile, jmeter.log shows:
2013/09/11 13:16:30 INFO - jmeter.protocol.http.proxy.Daemon: Creating Daemon Socket on port: 8084 2013/09/11 13:16:30 INFO - jmeter.protocol.http.proxy.Daemon: Proxy up and running! 2013/09/11 13:22:39 INFO - jmeter.protocol.http.proxy.Proxy: Proxy will remove the headers: If-Modified-Since,If-None-Match,Host 2013/09/11 13:22:39 INFO - jmeter.protocol.http.proxy.Proxy: Opened Keystore file: /home/abhijeet/Automation_Dev/LoadAutomation/Jmeter/apache-jmeter-2.9/bin/proxyserver.jks 2013/09/11 13:22:39 INFO - jmeter.protocol.http.proxy.Proxy: KeyStore for SSL loaded OK and put host in map (clients4.google.com) 2013/09/11 13:22:39 INFO - jmeter.protocol.http.proxy.Proxy: Opened Keystore file: /home/abhijeet/Automation_Dev/LoadAutomation/Jmeter/apache-jmeter-2.9/bin/proxyserver.jks 2013/09/11 13:22:39 INFO - jmeter.protocol.http.proxy.Proxy: KeyStore for SSL loaded OK and put host in map (translate.googleapis.com) 2013/09/11 13:22:40 INFO - jmeter.protocol.http.sampler.HTTPHCAbstractImpl: Local host = abhijeet-desktop 2013/09/11 13:22:40 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: HTTP request retry count = 1 2013/09/11 13:22:40 INFO - jmeter.protocol.http.sampler.HTTPHC4Impl: Setting up HTTPS TrustAll scheme 2013/09/11 13:22:40 INFO - jmeter.protocol.http.proxy.FormCharSetFinder: Using htmlparser version: 2.0 (Release Build Sep 17, 2006)<br>
6. The thread group starts showing unknown requests to these domains:
1. translate.googleapis.com 2. clients4.google.com 3. www.google.co.in 4. www.google.com 5. ssl.gstatic.com 6. safebrowsing.google.com 7. alt1-safebrowsing.google.com 8. clients4.google.com 9. www.gstatic.com . . n all other requests going to the target application.
(Exceptions are thrown for each request)
I believe that the google domain requests described above are recorded because chrome dynamically searches for keywords in google, while I type the url string in the address bar. But I do not want these requests to be logged in the thread group.
In addition, I tried the solutions from these pages, but they did not work for me:
Link 1
Link 2
Link 3
I do not understand why JMeter cannot use the fake certificate that it already has. I checked the SSL settings in chrome and I could not find any JMeter certificates. Need help!