我正在使用Visual Studio Ultimate 2013,並有一個負載測試,使用Web測試與一些請求和Web測試插件。視覺工作室網絡測試錯誤處理
在我的PostRequest插件中,我檢查了響應的http狀態碼,並在返回超過400的hhtp代碼時在WebTest.Context參數中標記錯誤。我想要做的是在PostTransaction WebTest插件中選擇並更新數據庫表。問題是,當框架檢測到錯誤並且未調用PostTransaction插件時,測試會中止。
我已經添加了一個PostWebTest插件,我認爲在測試迭代中止時會調用它,但是當請求失敗時它從來沒有打過。如果測試成功,它確實會擊中它。我錯過了什麼?
public override void PostRequest(object sender, PostRequestEventArgs e)
{
...
statusCode = e.Response.StatusCode.GetHashCode();
If (statusCode > 400)
{
e.WebTest.Context["TransactionFailCount"] = 1;
}
}
public override void PostTransaction(object sender, PostTransactionEventArgs e)
{
int transactionFailCount = Convert.ToInt32(e.WebTest.Context["TransactionFailCount"]);
if (transactionFailCount > 0)
failCount = 1;
else
passCount = 1;
...
base.PostTransaction(sender, e);
}
public override void PostWebTest(object sender, PostWebTestEventArgs e)
{
base.PostWebTest(sender, e);
}
感謝
謝謝阿德里安。 「如果」只是一個錯誤的帖子,我繼承了獲取狀態碼的代碼。我已經糾正了它,現在你正確地指出了它。我一定會關閉「Stop on Error」並在我的代碼中處理它。 –
有關接受答案時的含義,請閱讀[幫助]頁面,請參閱http://stackoverflow.com/help/accepted-answer。如果您的問題沒有得到解答,請編輯它以解釋缺失的細節。 – AdrianHHH