2011-05-23 43 views
0

這是我在的情況:查詢連貫使用JMeter的

我有一個使用Coherence網格存儲更快的結果數據的Web服務。網格擁有特定的DTO對象 - 當用戶輸入新數據時,我更新這些DTOs。現在,我需要爲此編寫特定的JMeter測試。我可以添加一個EndPoint(Restful WS)來收集這些DTOs以驗證對象是否正在更新,但這是混合QA和Dev。

有沒有辦法使用JMeter直接連接到網格,並查詢它的我的對象?甚至任何方式來創建一個獨立的Java應用程序,並通過Jmeter運行它(添加特定參數爲querys)返回對象..

謝謝你們! NINN

編輯:java類收集相干對象

package disclosed.jmeter; 

import org.apache.jmeter.config.Arguments; 
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; 
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; 
import org.apache.jmeter.samplers.SampleResult; 
import com.tangosol.net.CacheFactory; 
import com.tangosol.net.NamedCache; 

public class JmeterTest extends AbstractJavaSamplerClient{ 

    @Override 
    public Arguments getDefaultParameters() { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public SampleResult runTest(JavaSamplerContext arg0) { 
     CacheFactory.getCluster().getMemberSet(); 
     NamedCache cache = CacheFactory.getCache("myCache"); 
     System.out.println("The value taken from the cache is: " + cache.get("message")); 
     SampleResult result = new SampleResult(); 
     result.setResponseCode((String) cache.get("message")); 
     return result; 
    } 

    @Override 
    public void setupTest(JavaSamplerContext arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void teardownTest(JavaSamplerContext arg0) { 
     // TODO Auto-generated method stub 

    } 

} 

回答

1

是的,你可以查詢從JMeter的任何服務,或者如果你有Java庫,用來訪問它,或者通過模擬原始TCP/UDP網絡流量。

最好的方法是讓現有的Java庫訪問服務。然後你可以在BeanShell Sampler中使用它,或者編寫自定義的Sampler,這很容易。

進一步的細節強烈依賴於你選擇的圖書館。

+0

我正在創建一個jar來訪問網格。雖然Jmeter撿起它,但我遇到了一些麻煩。我將項目的src文件打包到一個jar文件中,並將它放到jmeter/lib/ext目錄中,但它仍然不會顯示爲BeanShell Sampler內部的類。任何提示? – ninnemannk 2011-05-24 16:41:54

+0

我得到JMeter拿起我的課,但現在我得到: - 發生錯誤:不兼容的魔法值1885430635在類文件中 - 任何時候我嘗試啓動JMeter。有任何想法嗎? – ninnemannk 2011-05-24 16:59:12

+0

我編輯了我原來的帖子,以顯示我用來獲得一致性對象的代碼。我仍然收到上述錯誤。我將該文件命名爲.class,目錄中唯一的其他內容是Manifest.MF文件,它是在發生震動時創建的。 – ninnemannk 2011-05-24 17:10:54