2010-09-22 155 views
0

我最近在Jmeter中記錄了一個用作負載測試腳本的測試腳本(使用這個handy set of instructions。錄製本身工作得很好,我甚至想出瞭如何獲取和參數化會話id和時間戳。但是,如果我按照記錄運行記錄的步驟,其中一些不起作用 - 它們會生成「500 - 遇到的服務器和內部錯誤...嵌套的異常是java.lang.NullPointerException」失敗的步驟是所有的Ajax調用填入側邊欄元素。如果我複製請求GET調用(Request選項卡,ViewResultsTree)並粘貼到瀏覽器中我得到確切同樣的錯誤。我需要以不同的方式記錄我的腳本,或手工編寫Ajax調用?其他的,以前的步驟可以正常工作併發送預期的POST數據,所以它不是被測試的應用程序或被遺忘的代理設置。 .6.10需要調試記錄的jmeter腳本

我如何能調試這任何建議,將不勝感激。

回答

0

這聽起來像JMeter是不執行AJAX調用,這樣就可以根據您的網站被罰款。你能簡單地做一個HTTP請求來獲取AJAX調用的頁面嗎?

我會推薦閱讀this post,因爲它看起來相當不錯。

我見過造成了幾件事情,情況:

  1. 一個頁面需要加載和拍前失敗的請求被緩存;
  2. 失敗頁面需要自動重定向才能正常工作;
  3. 的失敗頁面有子請求JMeter的失敗記錄。 Devs可以幫助解決這個問題。

希望這會有所幫助。

+0

原來Ajax請求電話都依賴於通常在瀏覽器緩存(而不是在JMeter的)會話信息,如會話ID。我將該參數添加到GET請求,現在一切都很開心。謝謝你的幫助! – Sabrina 2010-09-24 14:05:22

0

我做的第一件事就是確定顯示java.lang.NullPointerException是在客戶端(JMeter的),或者在服務器上發生的事情。如果它發生在JMeter中,那麼比你的腳本或JMeter有什麼錯誤。

但假設遇到你的服務器上的錯誤,然後尋找到異常的原因可能對什麼是錯與JMeter的發出的請求線索。你有權訪問拋出異常的代碼嗎?

我還建議在比較與生成錯誤的請求記錄的請求。您可能需要確定請求的哪些部分是特定於會話的,並確保這些字段正確填充。