2014-04-06 57 views
4

我們基於Sencha Ext.JS框架開發了一個複雜的單頁面應用程序。 應用程序中有許多「頁面」動態更改而不刷新瀏覽器的URL。所有用戶的交互和內容更改都是動態創建和銷燬的。如何測量單頁面應用程序中的客戶端性能

我們現在想要測量客戶端的穩定性和性能。測試應該關注客戶端行爲和響應。我們不需要測試服務器端的響應時間 - 在測試過程中,這將是相同的響應時間。

我看到的所有存在的工具通常都會處理XHR響應時間,並且通常基於每個URL的加載時間,這與我們的情況無關 - 因爲同一個url正在繼續並沿着時間進行工作。

任何有關此類測試良好實踐和工具的建議?

回答

2

如果您認爲AJAX監控和頁面加載時間不會對您有所幫助,那麼我可以建議您使用事務監控。它可以通過測量兩個狀態或兩個頁面之間的時間來完成。

在本地測試,使用console.time

console.time('page_name'); 
    // Anything goes here 
    console.timeEnd('page_name'); 

使用performance.now

var start = window.performance.now(); 
... 
var end = window.performance.now(); 
var time = end - start; 

使用Atatus服務

如果你是羅請求服務,您可以嘗試https://www.atatus.com/,它可以幫助您實時測量交易。

在atatus,你可以交易或國家之間通過

atatus.beginTransaction("page_name"); 
... 
atatus.endTransaction("page_name"); 
0

您可以使用像Selenium這樣的工具來自動執行客戶端行爲並測量響應時間。

+0

由於測量。我已經爲應用程序實現了自動化,這不是問題。我不想測量響應時間。我想隨着時間的推移來衡量JavaScript的響應。 – Satumba

+0

這正是你可以用它做的。這不是關於衡量API調用,而是你想要的任何東西。即您可以從外部調用JavaScript方法(通過模擬點擊)並測量其執行時間。重複此過程數百次以模擬大量的用戶交互,並測量JS性能是否降低。 – Bitsplitter

+1

我沒有看到Selenium如何進行JS性能測量並收集信息。你能指出一點嗎? – Satumba

相關問題