2016-11-22 54 views
0

我使用visual studio創建了Web性能測試。 這是一個簡單的scénario,連接到只給出密碼的應用程序,所以要模擬許多用戶,我必須給每個人一個密碼,以便在我的數據庫中創建5個僱員USER1,USER2,USER3,USER4 & USER5。 這樣每個虛擬用戶將使用一個密碼。在基於雲的負載測試中獲取每個虛擬用戶的agentID

首先,我用含5個用戶,然後嘗試綁定密碼給大家一個CSV文件,但它不工作,因爲所有的訪問方法不適合:

  • Sequential & Random:我得到了兩個用戶嘗試使用相同密碼連接的問題。
  • Unique:虛擬用戶每次執行測試時都會記錄一條記錄。所以我有5條記錄,每個虛擬用戶將執行一次測試,這不是我想要做的。

我想要做的是:每個虛擬用戶都需要一條記錄,並使用它執行相同的webtest多次使用相同的密碼,直到負載測試完成。

所以,我搜索了很多,然後發現這個StackOverflow上:How to use different .csv for each core agent for Visual Studio Cloud Testing?

所以我刨光此代碼作爲testPlugin:

int AgentId = e.WebTest.Context.AgentId; 
     e.WebTest.Context["TestAgentPassword"] = "USER" + e.WebTest.Context.AgentId; 

在本地,它就像一個魅力獨特的標識符每個agentID(1..5),但在雲中,所有agentIds都相同= 1,因此兩個用戶嘗試使用相同的密碼進行身份驗證並生成錯誤。

我該如何修復每個testAgent的id,直到加載測試結束時使用,無論他執行多少次webtest。

回答

1

Web測試環境還包含字段$WebTestUserId。如果場景屬性「新用戶百分比」設置爲零(0%),則最大值$WebTestUserId將爲測試中的虛擬用戶數。

正如你在CSV 5個用戶和5名匹配的密碼,然後你的5個虛擬用戶應該改變插件代碼是經過正常工作:

string UserId = e.WebTest.Context["$WebTestUserId"].ToString() 
e.WebTest.Context["TestAgentPassword"] = "USER" + UserId ; 
+0

非常感謝,它完美的作品。 –

相關問題