2012-01-12 94 views
1

回放测试时,我遇到“错误请求”错误。我已将它追踪到一个按钮中的逗号和空格,该按钮的值为“是,做”。另一个页面中的功能基于此值运行。当我删除这两个页面中的逗号和空格时,一切都完美无缺。我试过在Web Perf Test中将该字段的'url encode'属性切换为true,但仍然失败。当我查看请求的细节时,它显示“是,+做”作为查询字符串参数。在这种情况下,我无法改变控制值。任何提示?Visual Studio Web性能测试

回答

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。

+0

我同意按钮值。 我试过了你的建议,但是我无法在发出之前提取并替换查询字符串参数。我尝试创建一个自定义提取规则,你建议的WebTestRequestPlugin,甚至尝试通过 [code] 做出一些改动。QueryStringParameter queryStringParamter = new QueryStringParameter(“myAction”,“Yes,Do”); e.Request.QueryStringParameters.Add(queryStringParamter); [/ code] 当我走过时,一切看起来不错,但它仍然消失。试图找出在发送之前如何处理请求。 – user185320 2012-01-20 17:47:06

相关问题