2017-11-08 12 views
0

JMeter에서는 인증서를 변환하는 데 overhead이없는 클라이언트 인증서를 사용하고 JMeter를 다시 시작한 후에 SSL Manger 메뉴를 클릭하는 것을 잊지 마십시오.Groovy를 사용하는 JMeter의 표준 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

이들은 "표준 자바 클래스"아니다, 그것은 당신이 그것을 작동하게하기 위해 JMeter Classpath에서 이러한 com.eviware.soapui.* 클래스를 가질 필요가 SoapUI

에서 뭔가 것 같습니다. 필요한 .jars를 추가하고 나면 JMeter를 다시 시작해야합니다. 그러나 JMeter 테스트에서이 com.eviware.soapui.model.settings.Settings 클래스 인스턴스를 사용할 수 있을지는 의문입니다.

클라이언트 측 인증서를 사용하여 JMeter를 구성 할 수있는 쉬운 방법이 있습니다 : 같은 JMeter를 시작 스크립트에 -D command-line argument를 통해 그들을

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

또는 통과 : 단지 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

관련 문제