JMeter で JSF ベースの Web アプリケーションの https セッションを記録していますが、動作していません。
ターゲット アプリケーションのホスト: AWS
JMeter バージョン: 2.9 r1437961
ブラウザー: Chrome バージョン 29.0.1547.65
Java: Java バージョン "1.6.0_27"
OpenJDK ランタイム環境 (IcedTea6 1.12.5) (6b27-1.12.5-0ubuntu0.12.04.1)
OpenJDK サーバー VM (ビルド 20.0-b12、混合モード)
OS: Ubuntu 12.04
プロキシ サーバー構成:
ポート: 8084
ターゲット コントローラー: テスト計画 > スレッド グループ
キャプチャ HTTP ヘッダーがチェックされます。
HTTP サンプル設定:
タイプ: 選択されていません。リダイレクトに従い、KeepAlive を使用するにチェックを入れます。
除外する URL パターン:
1. 除外候補を追加
2. .*\.jsf
スローされる例外 (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)
私が従う手順は次のとおりです
。 1. 8084 を指すプロキシ サーバーを
設定します。 2. クロムからプロキシ設定を変更します。https プロキシを 8084 に設定します
。 3. すべてのクロム拡張機能とクロム アカウントを無効にします。
4. jmeter プロキシ サーバーを起動し、 5 を押しますhttps://url/login
。ブラウザに証明書の確認ページが表示されます。一方、jmeter.log には次のように表示されます。
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. スレッド グループは、これらのドメインへの不明なリクエストを表示し始めます。
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.
(リクエストごとに上記の例外がスローされます)
アドレスバーにURL文字列を入力しているときに、ChromeがGoogleでキーワードを動的に検索しているため、上記のGoogleドメインリクエストが記録されていると思います。しかし、これらのリクエストがスレッド グループに記録されることは望ましくありません。
また、次のページの解決策を試しましたが、うまくいきませんでした:
リンク 1
リンク 2
リンク 3
JMeter が既に持っている偽の証明書を使用できない理由がわかりません。Chrome で SSL 設定を確認しましたが、JMeter 証明書が見つかりませんでした。助けが必要!!