播放测试时,我遇到了“错误请求”错误。我已将其跟踪到逗号和空格中的按钮,其中包含“是,否”作为其值。另一个页面中的功能基于此值运行。当我删除两个页面中的逗号和空格时,一切都很完美。我已经尝试将Web Perf Test中该字段的'url encode'属性切换为true,但它仍然失败。当我查看请求的详细信息时,它会显示“是,+ Do”作为查询字符串参数。在这种情况下我无法更改控制值。任何提示?
答案 0 :(得分:1)
看起来奇怪的是,按钮的值首先作为查询字符串参数传递...
是否设置了来自先前请求的提取规则,然后该上下文参数用于以后的请求?如果是这样,您实际上可以修改该值。您可以在以后的请求中对值进行硬编码,或者如果您仍然需要动态获取它,只需修改它,您就可以创建一个非常简单的插件。它的示例代码是:
public class StringCharsFromParam: WebTestRequestPlugin
{
public override void PreRequest(object sender, PreRequestEventArgs e)
{
string ExtractParam = ((string)e.WebTest.Context["NameOfContextParameter"]);
if (ExtractParam != null && ExtractParam.Contains(", ")
{
e.WebTest.Context["NameOfContextParameter"] = ExtractParam.Replace(", ", "");
}
}
}
然后,您可以将此WebTestRequestPlugin添加到WebTest。