0

我有一些用於負載測試的數據源。 Web服務調用應完全完成一次調用,然後可再次使用相同的數據源記錄。但我的問題是我怎麼知道這個數據記錄正在使用。我如何在我的VS負載測試中控制這個?如何在VS負載測試中同時避免重複的Web服務調用

+0

你能否提供更多上下文的問題?什麼是測試細節以及爲什麼/如何重複使用記錄?如果數據源條目的數據源行數多於虛擬用戶數,我通常建議避免重複的併發使用。至少有兩倍多,最好多得多。 – AdrianHHH

+0

在我的測試中,我無法再生成更多的數據源。我必須使用有限的用戶。我的數據包含用戶和密碼等數據,每個Web服務呼叫都使用用戶和密碼。如果有兩個相同的Web服務調用發生,服務器將發回錯誤消息。但我不希望發生這種情況。我希望有一些插件,我可以檢查一下現在是否有線程正在使用這個用戶和密碼,如果是的話,我會等待它結束,如果沒有,請發送Web服務呼叫。有沒有任何例子可以幫助監控我可以使用的線程?謝謝 – Geri

回答

0

沒有內置支持來同步虛擬用戶之間數據源值的使用。

一種可能性是將登錄請求置於循環中繼續嘗試,直到成功。

loop "Context parameter exists", Check for existence == false 
    Issue the login request 
     Extraction rule: "Extract text" 
      Search for text such as "Login successful" 
      With Required == false 
endloop 

環路被設置爲不斷循環,而上下文參數(CP)不存在:登錄請求和環路可以如下來構成。在服務器不工作的情況下,設置循環的最大迭代次數(可能爲10)可能是明智的。這將確保最終停止測試。

登錄請求已發送,並且提取規則會查找一些表示登錄成功的文本。如果找到該文本,則將某些內容寫入CP。如果登錄未成功,則由於Required == false未創建CP。因此循環再次出現。

登錄請求可能應該有一個非零的思考時間,以使其他虛擬用戶有時間完成數據的使用。如果登錄成功,您甚至可以使用PostRequest插件將思考時間設置爲零。 (注意,我認爲PostRequest插件可以修改思考時間,但您必須檢查它是否有效。)

瞭解測試的性能會稍微複雜一點,因爲整體測試時間將包括失敗登錄嘗試。