2009-02-10 158 views
16

似乎有很多支持AJAX的壓力/負載測試工具。
我想知道這些工具實施得如何。用於Ajax負載測試的工具

他們只記錄http請求並重播它嗎?
這是測試AJAX應用程序的正確方法嗎?
谷歌如何測試他們的ajax應用程序?

回答

1

如果您只是擔心功能,像Watin,WatirSelenium或任何功能工具就可以工作。只要你在你的功能測試中提供足夠的時間來允許ajax回調,那麼這應該能夠做到。

要添加到我的反應,

如果你正在談論的單元測試你作爲一個老鄉描述,你可以使用JavaScript類似qunit LosTechian in this posting。這是一個非常有創意的用於集成js單元測試的nunit插件和qunit。

純屬巧合,那張貼qunit測試的博客文章是同一個人只是一個昨天發佈了關於this very topic

+5

這不是負載測試。負載測試測試在給定負載下應用程序的性能,例如, 「它與100個併發用戶的表現有多好」。 – MorganTiley 2012-10-17 16:01:10

0

我在之前的工作中使用過SilkPerformer。根據鏈接,他們有一些AJAX增強。不幸的是,Silk離自由很遠。

1

所有負載測試人員都會支持AJAX-他們只是附加的http連接。

有幾個免費的那裏 - Jmeter,BadBoy,Grinder這一切都做得很好。

他們都有某種記錄/回放的支持,但這並不總是你要找的。

我做過的最簡單的方法是記錄一個示例會話,用變量替換幾個參數並將其從csv或excel文件中循環。

偉大的起點:video谷歌介紹在開源測試。

編輯:更新視頻鏈接。

+0

現在視頻鏈接已損壞 – dg123 2013-08-15 08:33:33

0

檢出Jiffy。這是一個端到端的測量套件,因此非常複雜。但是,統計數據相當令人印象深刻。

0

Siege?它可以進行HTTP測試並通過任何你想要的。

1

我已經使用Virtual User Generator(它是HP的Loadrunner軟件的一部分)來測試AJAX應用程序。該軟件具有多種可用於記錄網絡應用的應用協議,例如, AJAX,Click和Script。

對於測試來說是足夠的記錄和重放的http請求多數Web應用程序的負載。這將給出服務器如何處理負載的結果。如果您的Web應用程序執行大量異步加載並在客戶端進行渲染,例如解析xml或json的大型數據集或許多DOM修改,可能需要包含瀏覽器層來衡量最終用戶體驗。

6

大部分的負載測試工具,在那裏做AJAX負載測試相同的方式:他們執行過程中「記錄」階段所看到的原始HTTP流量(可以是頁面請求,圖像的要求,甚至AJAX請求) 。它們之間的主要區別是它們的記錄器/ IDE工具的性能如何,以及它如何幫助您將HTTP請求參數化,以便它們能夠根據動態/實時結果反映真實世界的流量。

警告,公然插頭:唯一的例外是我的公司,BrowserMob。它不是模擬觀察到的流量,而是實際使用真實的Web瀏覽器來驅動回填。因此,AJAX的東西由瀏覽器處理。

有用的鏈接:從上面的公然插頭分開的(雖然我也希望你能查出來 - 我們在前面的定價,並提供免費試用),我最近寫了一篇文章,關於纔算是Ajax AJAX load testing。它詳細介紹了使用真實瀏覽器用戶(RBU)與虛擬用戶(VU)的技術含義。

0

你也可以看看fwptt它是開源的。如果您是.net開發人員,則可以使用參數自動處理以及使用自己的.net對象進行測試的可能性。

0

我已經成功地使用JMeter的負載測試我們的Ajax(JSF/RichFaces的)應用程序。我並沒有打擾JMeter的錄音工具 - 而是使用Firefox的HttpFox插件來監視瀏覽器在服務器上發佈的內容,並在JMeter中重新創建了這個插件。

它確實有點複雜,但負載測試現在相當健壯。 JMeter的有各類有用的「元件」的從網頁中提取的ID,執行條件邏輯,遞增計數器等

0

更好寫入分離的測試方法或API負載測試Ajax應用程序。原因如下:

  • 對於Ajax應用程序(例如GWT)編寫功能測試並不那麼容易。
  • 您可以使用 Jmeter WebDriver plugin,但是對於每次運行它都會啓動瀏覽器,該瀏覽器將使用大部分RAM和CPU。
  • 您將加載後端而不是前端,因此您可以避免使用ajax。

您可以像這樣設計測試:對於Ajax應用程序,請使用Selenium或PhantomJS/CasperJS。對於負載測試,使用JMeter,通過API的Gatling不通過Ajax。

2

看看LoadBooster(https://www.loadbooster.com)。它利用無頭腳本瀏覽器PhantomJS/CasperJs來測試網站。 Phantomjs將解析並呈現每一頁,執行客戶端腳本。無頭瀏覽器方法更容易編寫測試場景,以支持複雜的AJAX沉重的Web 2.0應用,瀏覽器導航,鼠標點擊和擊鍵到瀏覽器或等到DOM中存在元素。 LoadBooster也支持硒HTML腳本。

聲明:我爲LoadBooster工作。

0

我的選擇是螢火蟲(瀏覽器插件)。其非常輕巧易於操作