Visual Studio 2015:WebTest使用Regex验证响应
本文关键字:Regex 验证 响应 使用 WebTest Studio 2015 Visual | 更新日期: 2023-09-27 17:58:30
我尝试使用regex来验证网络测试中的响应文本。使用ValidationRuleFindText类,您可以选择使用正则表达式验证web请求的响应文本。示例:
响应文本:{"success":true,"data":"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是regex,它失败了,因为它在响应中找不到/(/"success/":true)/ig。如果有人熟悉这一点,我们将非常感谢您的帮助:)
使用Visual Studio很容易实现这一点。取任何可以用作沙箱文件的.webtest
文件。添加具有正确设置的查找文本验证规则,然后运行"生成代码"命令。验证的正确代码将出现在生成的.cs
文件中。
对于问题中的示例字符串,搜索字符串{"success":true, "data":"foo bar"}
生成下面的行。其他验证规则行与问题中的相同。
validationRule1.FindText = "{'"success'":true, '"data'":'"foo bar'"}";
最后,这个搜索字符串不需要正则表达式。一个非正则表达式验证规则就足够了。
问题中的行有validationRule.FindText = @"/(/""success/"":true)/ig";
,这似乎对其他一些语言中使用正则表达式的方式很有吸引力。不应使用包含的/
字符和尾随的ig
字符。它们的功能是通过其他方式实现的。