2012-12-27 48 views
2

我是Jmeter的新手。目前我已經在Jmeter中測試了Web服務調用。我通過Web服務調用向服務器發送了請求。我的輸入是xml文件和它的加密形式。所以我給PostBody加密的字符串。如何將Jmeter連接到Java類?

我的問題是我無法在Jmeter中執行加密過程。
所以我決定連接jmeter到我的java類併發送到服務器。

Jmeter--->Java class--->server. 

我已經使用的JMeter 2.8

是否有任何可能的JMeter連接到java類?

+0

有關這方面的消息嗎? –

回答

1

jMeter可以與很多事情交流(請參閱Apache上的this list)。一個是JMS,可能可以用來連接到你的Java服務器。或http(它通常用於)。這一切都取決於你的java類能夠響應什麼。

2

我不知道理解,但如果你想要做的是以下幾點:

  1. 加密一些XML
  2. 把它作爲原始帖子正文的HTTP取樣器,它將調用你的web服務

那麼答案要做到這一點是:

  1. 添加Groovy的所有在的.jar JMETER_HOME/lib文件夾

  2. 你的HTTP取樣器使用JSR223 Pre Processor,並把下面的Groovy代碼:

    import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase; 
    import org.apache.jmeter.protocol.http.util.HTTPArgument; 
    
    HTTPSamplerBase httpSamplerBase = (HTTPSamplerBase) sampler; 
    
    HTTPArgument argument = 
          httpSamplerBase.getArguments().getArgument(0); 
    
    String valueToEncrypt = argument.getValue(); 
    // Do you encryption here, in this example I put ENC for testing 
    valueToEncrypt = "ENC"+valueToEncrypt; 
    httpSamplerBase.getArguments().clear(); 
    httpSamplerBase.addNonEncodedArgument("", valueToEncrypt, ""); 
    
  3. HTTP Sampler,把你的原始XML在原始帖子正文進行加密文本區域

計劃將具有以下結構(HTTP鏡像服務器只是爲了我的測試):

enter image description here

注:我使用最新的JMeter夜間生成,所以我有腳本編譯緩存是尚未公佈,將在2.9部分。而應將腳本放在外部文件中,並在「文件名」字段中引用它。

+0

何時可以使用JMeter 2.9? –

+0

還不知道,應該是在開始的一年,但如果你需要它,你可以得到每晚建立並給予反饋 –

+0

我在預處理程序中編寫了groovy腳本。如何將該值傳遞給http請求? – Ami