繁体   English   中英

Visual Studio 2015:WebTest使用正则表达式验证响应

[英]Visual Studio 2015: WebTest Validate Response with Regex

我尝试使用正则表达式来验证Webtest中的响应文本。 使用ValidationRuleFindText类,您可以选择使用正则表达式来验证来自Web请求的响应文本。 例:

响应文本:{“成功”:true,“数据”:“ foo bar”}

ValidationRuleFindText validationRule = new ValidationRuleFindText();
validationRule.FindText = @"/(/""success/"":true)/ig";
validationRule.IgnoreCase = true;
validationRule.UseRegularExpression = true;
validationRule.PassIfTextFound = true;
foobarRequest.ValidateResponse += new EventHandler<ValidationEventArgs>    (validationRule3.Validate);

出于某种原因,它无法识别validationRule.FindText是正则表达式,并且失败了,因为它实际上无法在响应中找到/(/“ success /”:true)/ ig。 如果有人熟悉此功能,将不胜感激:)

使用Visual Studio确实很容易解决。 .webtest任何.webtest沙箱文件的.webtest文件。 添加具有正确设置的查找文本验证规则,然后运行“生成代码”命令。 验证的正确代码将在生成的.cs文件中显示。

对于问题中的示例字符串,搜索字符串{"success":true, "data":"foo bar"}生成下面的行。 其他验证规则行与问题中的相同。

validationRule1.FindText = "{\"success\":true, \"data\":\"foo bar\"}";

最后,关于此搜索字符串的任何内容都不需要正则表达式。 非正则表达式验证规则就足够了。


问题中的行具有validationRule.FindText = @"/(/""success/"":true)/ig"; 这似乎吸引了其他一些语言中使用正则表达式的方式。 不应使用/字符和结尾ig 它们的功能可以通过其他方式实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM