2017-04-18 83 views
0

如何安排Visual Studio Web性能測試中的響應URL的驗證規則可以針對單個請求禁用?抑制單個請求的「響應URL」驗證

刪除驗證規則很簡單,但這意味着對測試中的任何請求都沒有響應url驗證。這些驗證對於保留大多數請求非常有用,因爲它們提供了簡單的驗證,即測試沒有做錯誤的事情。但是,某些請求的響應URL太複雜或太不可預測,無法在測試項目的時間限制內創建。 Web測試中每個請求的屬性都包含響應url。如果這些屬性也包含一個用於檢查的布爾屬性或者不檢查響應url,那將會很有用。每個請求上還有其他幾個布爾屬性。

回答

0

自定義驗證規則can be written和一個規則可以從另一個派生。這讓我們創建一個規則,檢查是否需要響應url驗證,或者應該跳過特定請求。

[System.ComponentModel.Description(
    "Validate response URLs. " 
    + "Calls standard validation rule except when the 'Response URL' property is '-', " 
    + "in which case no validation is done.")] 
public class ResponseUrlWithSkip : ValidateResponseUrl 
{ 
    public override void Validate(object sender, ValidationEventArgs e) 
    { 
     if (string.IsNullOrEmpty(e.Request.ExpectedResponseUrl) 
      || e.Request.ExpectedResponseUrl != "-") 
     { 
      base.Validate(sender, e); 
     } 
     else 
     { 
      e.WebTest.AddCommentToResult("Response URL validation skipped."); 
     } 
    } 
} 

上面的代碼檢查響應url屬性是否是一個連字符(即-),並且如果它不是那麼標準響應URL規則被調用。 hyplen的選擇沒有什麼魔力。可以使用其他字符串,該字符串可以作爲驗證規則的屬性傳遞,方法是添加下面的聲明並測試其值而不是"-"

public string Skip { get; set; } 

要使用此驗證規則,請從Web測試中刪除正常規則並添加此新規則的調用。