2012-01-12 125 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

相關問題