Есть ли способ идентифицировать http-запрос, который отправляет код состояния 200, но перенаправляет на страницу, на которой отображается ошибка 404

#jmeter

#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-адресов, на которых есть пользовательская страница, на которой отображается 404, которая возвращает код состояния 200.

Как сделать так, чтобы такой URL-адрес не удался в jmeter

Ответ №1:

На самом деле это то, что ваш разработчик должен исправить со своей стороны, когда устанавливает код ответа HTTP. Обратите внимание, что JMeter — это инструмент тестирования на стороне клиента. Он просто идет с ответным сообщением HTTP и кодом ответа, который он получает от сервера. Он не может принимать решение на основе некоторого случайного текста, который может содержать 404.

Если вы являетесь специалистом по контролю качества / разработке и видите это для своего приложения, вы должны это исправить. До тех пор вы можете проанализировать текст ответа и решить, является ли ответ успешным или нет.

Например:

Вы можете сделать это самостоятельно, проверив, что 404PageController этого нет в вашем ответе.

введите описание изображения здесь

Ответ №2:

Пользовательская страница 404 все равно должна возвращать код состояния 404. Например, Drupal корректно возвращает код 404 вместе с пользовательской темой, блоками и т. Д.

Глядя на это в Chrome Web Dev, я вижу более поздний URL: 948590?iecbust=1555509641240

Это правильно возвращает 404, но это из XHR позже при загрузке страницы. Возможно, что-то связанное с Angular, но я не уверен, как вы могли бы понять это из исходного URL.