我正在爲具有AJAX調用的應用程序進行性能測試。我能夠記錄相同的請求,但無法執行它們。任何人都可以幫我執行AJAX請求嗎?性能通過JMeter測試AJAX調用
我需要爲此使用任何額外的插件嗎?如果是的話,他們是什麼以及如何使用它們。
我正在爲具有AJAX調用的應用程序進行性能測試。我能夠記錄相同的請求,但無法執行它們。任何人都可以幫我執行AJAX請求嗎?性能通過JMeter測試AJAX調用
我需要爲此使用任何額外的插件嗎?如果是的話,他們是什麼以及如何使用它們。
我不知道任何現有的插件能夠處理AJAX調用。技術上AJAX請求是基本的HTTP請求,但它們需要並行執行,每次調用一個額外的線程。
目前在JMeter中不可能嵌套線程組,因此您必須使用JSR223 Sampler來做一些額外的編碼來啓動AJAX請求。主要的請求和嵌套的AJAX調用應該放在Transaction Controller之下,看起來像一個真實的瀏覽器行爲。
或者,您可以開發自己的JMeter採樣器,它將能夠產生額外的線程來模擬AJAX請求。
有關以上兩種方法的詳細信息,請參閱How to Load Test AJAX/XHR Enabled Sites With JMeter指南。
雖然它看起來有點休眠,但我構建了這個採樣器,它對我來說工作正常。它創建了一個可以添加多個請求的單個採樣器,並且它們都是並行觸發的。曲奇/頭經理/變量提供給請求:
附:我在ConcurrentHttpRequestsSampler.java中的processResult方法中添加了一行以將響應主體寫入以子樣本名稱爲前綴的jmeter變量,因爲來自子請求的響應正文不可用於ConcurrentHttpRequests取樣器上的後處理器:
try{
jmeterContextOfParentThread.getVariables().put(subResult.getSampleLabel()+"_responseBody",new String(subResult.getResponseData(),"UTF-8"));
}
catch(java.io.UnsupportedEncodingException e) {
jmeterContextOfParentThread.getVariables().put(subResult.getSampleLabel()+"_responseBody","Unable to read response data");
}
如何使用它..你可以告訴我一些步驟..我是初學者到jmeter,並在第一頁我必須測試ajax callss – dom 2017-01-02 11:21:48
1.從上面的鏈接下載所有的源代碼。 – MonkeyTester 2017-01-03 09:56:12
2.使用maven構建新的採樣器 – MonkeyTester 2017-01-03 09:56:32
謝謝德米特里T的幫助。 :-) – user3627319 2014-09-05 12:59:14