2017-04-18 81 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测试中删除正常规则并添加此新规则的调用。