有没有一种方法可以识别发送200状态代码但重定向到显示404错误的页面的http请求

时间:2019-04-17 13:55:46

标签: jmeter

我有一个Microsoft链接,该链接返回200状态代码,但显示404自定义页面。如何在jmeter中进行断言,并使测试案例该链接实际上返回了断开的链接。

https://support.microsoft.com/kb/948590

重定向到

https://support.microsoft.com/en-us/help/948590

具有404个自定义图片页面,下面是它返回的状态-

Thread Name: Thread Group 1-1
Sample Start: 2019-04-17 18:53:54 IST
Load time: 1282
Connect Time: 0
Latency: 626
Size in bytes: 107295
Sent bytes:214
Headers size in bytes: 1074
Body size in bytes: 106221
Sample Count: 1
Error Count: 0
Data type ("text"|"bin"|""): text
Response code: 200
Response message: OK

预计我有很多URL,这些URL具有自定义页面,该页面显示404,并返回200状态代码。

如何在jmeter中使此类网址失败

2 个答案:

答案 0 :(得分:2)

实际上,这是您的开发人员在设置HTTP响应代码时应从其侧面解决的问题。请注意,JMeter是客户端测试工具。它只是与从服务器获取的HTTP响应消息和响应代码一起使用。它无法根据可能包含404的某些随机文本来做出决定。

如果您是QA / Dev人员,并且在您的申请中看到了此信息,则应该将此问题解决。到那时,您可以解析响应文本并确定响应是否成功。

例如:

您可以通过检查响应中是否没有404PageController来解决此问题。

https://imgur.com/tnctpzJ

答案 1 :(得分:0)

自定义404页面应该仍返回404状态代码。例如,Drupal会正确返回404代码以及自定义主题,块等。

在Chrome Web Dev中,我看到了一个更高的URL:948590?iecbust=1555509641240

该代码正确地返回了404,但这是在页面加载的后面从XHR返回的。可能与Angular有关,但是我不确定您是如何从原始URL中找出这一点的。