2011-05-30 34 views
0

我正在創建一個簡單的webtest(記錄的Web性能測試),以確保在嘗試使用不存在的用戶名登錄時顯示正確的錯誤消息。使用VS2010進行Web測試的驗證規則

但是,有兩種類型的錯誤消息處理不正確的登錄信息。一個是所有不存在的用戶名,因此不被允許,另一個用戶名以字母'Q'開頭(由於某些原因,這是不允許的)。

現在我想要做的就是使用「查找文本」驗證規則,如果找到其中一個「查找文本」參數,測試應該會通過,在這種情況下,我想要第二個「查找文本」規則被忽略,所以它不會失敗的測試。

換句話說,如果找到其中一個「查找測試」規則,測試應該總是通過。

我該如何做到這一點?是否有一些if,else聲明可以用於此?

回答

0

是的,你是在正確的軌道上:VS 2010有條件。

  • 在您的測試中,右鍵單擊並選擇添加條件
  • 選擇字符串比較規則,設置使用正則表達式真正,設置價值^Q。*?$,並設置上下文參數名稱上下文參數包含用戶名值。
  • 這將匹配用戶名與問:
  • 開始登錄請求加入條件,並添加適當的查找文本規則(即找到了Q-用戶名錯誤消息)請求。

沒有的其他概念,不幸的是,所以你必須做出一個副本的條件節點,並在副本中,改變比較運算符不等同,然後修改複製查找文本規則以匹配常規的不存在的用戶名錯誤消息。

得到的測試應該是這個樣子:

-If ({{username}} equals "^Q.*?$") 
-http://login request here 
    -Validation Rules 
    -Find Text         <--- match Q-username error message 
-If ({{username}} does not equals "^Q.*?$") 
-http://login request here 
    -Validation Rules 
    -Find Text       <--- match non-existing username error message 
2

做的另一種方法是使用數據綁定。如果你有一個數據源定義爲您的網絡測試,如表稱爲ForbiddenUsers這樣的:

Username   Message 
--------   ------- 
Quasimodo   You are not allowed to use this system. 
NonExistent   Who are you? 

然後,只要您使用{{ForbiddenUsers.Username}}在的登錄部分數據源在測試中,您只需要添加一個查找文本驗證規則,並使用屬性 '查找文本'= {{ForbiddenUsers.Message}}

這將爲所需類型的用戶名映射正確的消息。

+0

是的,我喜歡這個答案比我的更好。 – agentnega 2012-05-09 07:58:09