如何防止 WebLOAD wlHttp 模块在收到非 200 状态码时中止回合?
How to prevent WebLOAD wlHttp module from aborting round when receiving non-200 status code?
我最近受命在 WebLOAD 中工作,以测试 API 的功能。由于项目的要求,WebLOAD 的替代方案不能用于该任务。
我负责编写的一些测试用例涉及提交格式错误的请求并确保返回 400 响应代码。我的问题是每次收到非 200 响应时,wlHttp 都会在控制台中抛出错误并中止当前回合。
我试过用 try/catch 包围 wlHttp.Get
调用,但没有用。非常感谢任何帮助,因为从 this document 来看,似乎应该可以在收到非 200 状态代码后继续。
下面是一个 MVP,类似于我为我的测试用例编写的代码。在控制台输出(MVP 下方)中,您可以看到记录了“1”,但是在记录了有关 400 的错误后立即停止执行,console.log("2")
永远不会是 运行。
function InitAgenda() {
wlGlobals.GetFrames = false;
wlGlobals.SaveSource = true;
wlGlobals.SaveHeaders = true;
}
/***** WLIDE - ID:5 - JavaScript *****/
wlHttp.ContentType = "application/json";
console.log("1");
wlHttp.Get("https://httpstat.us/400");
console.log("2");
// END WLIDE
0.00 *** Script Execution Start Time: Thu Aug 15 17:15:56 2019 ***
0.33 Start round 1 (1 of 1)
0.34 1
0.76 400 Bad request. Requested URL: https://httpstat.us/400. in main_agenda at line 15
1.85 End round 1 (1 of 1)
2.06 *** Script Execution End Time: Thu Aug 15 17:15:58 2019 ***
2.06 Test Failed: The number of errors is equal to or greater than 1.
你应该使用 wlHttp.ReportHttpErrors=false
.
使用document.wlStatusNumber检查响应。
参见示例:
function InitAgenda()
{
wlGlobals.GetFrames = false;
wlGlobals.SaveSource = true;
wlGlobals.SaveHeaders = true;
}
/***** WLIDE - ID:5 - JavaScript *****/
wlHttp.ContentType = "application/json";
console.log("1");
wlHttp.ReportHttpErrors=false
wlHttp.Get("https://httpstat.us/400");
if (document.wlStatusNumber != 400) {
WarningMessage("hmm, expected 400 but got " + document.wlStatusNumber + ", " + document.wlStatusLine)
}
console.log("2");
我最近受命在 WebLOAD 中工作,以测试 API 的功能。由于项目的要求,WebLOAD 的替代方案不能用于该任务。
我负责编写的一些测试用例涉及提交格式错误的请求并确保返回 400 响应代码。我的问题是每次收到非 200 响应时,wlHttp 都会在控制台中抛出错误并中止当前回合。
我试过用 try/catch 包围 wlHttp.Get
调用,但没有用。非常感谢任何帮助,因为从 this document 来看,似乎应该可以在收到非 200 状态代码后继续。
下面是一个 MVP,类似于我为我的测试用例编写的代码。在控制台输出(MVP 下方)中,您可以看到记录了“1”,但是在记录了有关 400 的错误后立即停止执行,console.log("2")
永远不会是 运行。
function InitAgenda() {
wlGlobals.GetFrames = false;
wlGlobals.SaveSource = true;
wlGlobals.SaveHeaders = true;
}
/***** WLIDE - ID:5 - JavaScript *****/
wlHttp.ContentType = "application/json";
console.log("1");
wlHttp.Get("https://httpstat.us/400");
console.log("2");
// END WLIDE
0.00 *** Script Execution Start Time: Thu Aug 15 17:15:56 2019 ***
0.33 Start round 1 (1 of 1)
0.34 1
0.76 400 Bad request. Requested URL: https://httpstat.us/400. in main_agenda at line 15
1.85 End round 1 (1 of 1)
2.06 *** Script Execution End Time: Thu Aug 15 17:15:58 2019 ***
2.06 Test Failed: The number of errors is equal to or greater than 1.
你应该使用 wlHttp.ReportHttpErrors=false
.
使用document.wlStatusNumber检查响应。
参见示例:
function InitAgenda()
{
wlGlobals.GetFrames = false;
wlGlobals.SaveSource = true;
wlGlobals.SaveHeaders = true;
}
/***** WLIDE - ID:5 - JavaScript *****/
wlHttp.ContentType = "application/json";
console.log("1");
wlHttp.ReportHttpErrors=false
wlHttp.Get("https://httpstat.us/400");
if (document.wlStatusNumber != 400) {
WarningMessage("hmm, expected 400 but got " + document.wlStatusNumber + ", " + document.wlStatusLine)
}
console.log("2");