2017-11-08 28 views
0

JMeterでは、クライアント証明書を使用したい場合は、overheadの証明書を変換せずにJMeterを再起動した後にSSL Mangerメニューをクリックすることを忘れないでください。Groovyを使用してJMeterの標準Javaクラスを使用

これまで必要だった場所では、さまざまな証明書を柔軟に使用したいと考えています。

Javaソリューションhereは非常に有望です。私はGroovyでJSR223プリプロセッサを使用しようとしました。これは最初の行で失敗します。標準Javaクラスをインポートできませんでした。

2017-11-08 16:02:39,139 ERROR o.a.j.m.JSR223PreProcessor: Problem in JSR223 script, JSR223 PreProcessor 
javax.script.ScriptException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
Script37.groovy: 1: unable to resolve class java.security.Keystore 
@ line 1, column 1. 
    import java.security.Keystore; 

標準のJavaクラスを使用するにはどうすればよいですか?

全体のアイデアは、SoapUIで使用されるソリューションに基づいています。

import com.eviware.soapui.settings.SSLSettings 
import com.eviware.soapui.model.settings.Settings 
import com.eviware.soapui.SoapUI 
Settings settings = SoapUI.getSettings() 
settings.setString(SSLSettings.KEYSTORE, "../certificates/foo.p12") 
settings.setString(SSLSettings.KEYSTORE_PASSWORD , "bar") 
settings.reloadSettings() 

JMeterでこのようなことはありますか? HTTPサンプラーを送信するクライアントはどれですか?

答えて

0

これらは、「標準のJavaクラス」ではありませんが、それはあなたがそれを動作させるために、JMeter Classpathの下でこれらのcom.eviware.soapui.*のクラスを持っている必要がありSoapUI

から何かのように見えます。必要な.jarsを追加したら、JMeterを再起動する必要があります。しかし、このcom.eviware.soapui.model.settings.SettingsクラスインスタンスをJMeterテストで使用できるかどうかは疑問です。

クライアント側の証明書を使用するようにJMeterを設定する簡単な方法があります:

javax.net.ssl.keyStoreType=pkcs12  
javax.net.ssl.keyStore=../certificates/foo.p12 
javax.net.ssl.keyStorePassword=bar 

かのようなJMeterの起動スクリプトに-D command-line argument経由で渡す:ちょうどsystem.propertiesファイルに次の行を追加します。

jmeter -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=../certificates/foo.p12 -Djavax.net.ssl.keyStorePassword=bar -n -t test.jmx -l result.jtl 

このアプローチの詳細については、How to Set Your JMeter Load Test to Use Client Side Certificatesの記事を参照してください。

+0

私はもう一度私の質問を読んだ。私はあなたがSoapUIクラスを使いたがっている印象をどのようにして得るのか分かりません。あなたが読めるように、私はjava.security.Keystoreをインポートしたいと思います。これは確かに標準のJavaクラスです。 – Nabor

関連する問題