Проблема с записью Jmeter при открытии кадров выбора данных в форме страницы. Второй кадр на той же странице получает кодированный URL и получает 404 с сервера - PullRequest
0 голосов
/ 26 октября 2019

У меня возникла проблема при записи с использованием Jmeter с использованием HTTP (s) Test Script Recorder. В этой одностраничной форме я нажимаю значок поиска / щелчка, чтобы открыть список полей для выбора. Когда рамка выбора открыта, я могу выбрать значение или закрыть его с выделением или без него. Проблема в том, что когда я запускаю регистратор и открываю эту одностраничную форму для первого выбора, рамка открывается просто отлично, независимо от того, какое поле выбора я выберу в форме. Во время того же сеанса записи, когда я открываю то же или другое поле для выбора, я получаю 404 от сервера, и элементы в кадре не отображаются для выбора. В случае, если я прекращаю запись и начинаю снова, я могу открыть один кадр с элементами для выбора, во второй раз снова та же проблема. Я пробовал варианты перенаправления на рекордере, Java и HTTPclient4, но проблема не решена.

Когда я просматриваю записанные запросы на первый выбор (успешный выбор), я вижу следующие запросы.

Первый и тот же кадр - Получить запрос

first-time same frame - Get request

Первый же кадр - Получить запрос

first time same frame - next Get request

Первый- тот же фрейм - POST-запрос

First time same frame - POST Request

Когда я вижу второй запрос, который потерпел неудачу с 404, я вижу второй раз, кодировка URL была выбрана в запросе get и основана наэтот второй запрос имеет URL-кодировку, например,% 2F символов. Кроме того, почтовый запрос теперь содержит большинство параметров в URL-адресе, а не в виде параметров.

Во второй раз тот же кадр - первый запрос на получение

Second-time same frame - First Get Request

Second- тот же кадр - второй запрос на получение

Second time same frame - Second Get Request

второй и тот же кадр - запрос POST

Second time same frame - POST Request

Если вы наблюдаетеURL здесь

/ xxxx / html / en / default / common /% 2Fxxx-xxx% 2Fhtml% 2Fen% 2Fdefault% 2FreportTemplate% 2FviewPageReport.jsp% 3FpropertyId% 3FpropertyId% 3FpropertyId% 3D208133 & projectId = 1 & 334 = 153 & if = 152 = 233325= 1 & manager = 1 & parentSOSubCategoryId = 1 & olv = 1 & tempSpecId = 754388166098775919 & bookmarkable = false

/default/common/%2Fxxx-xxx%2Fhtml при преобразовании становится /default/common//xxx-xxx/html, поэтому здесь мы также добавляем дополнительную обратную косую черту. Таким образом, этот запрос отличается от первого запроса POST на ту же запись и создает запрос в кодировке URL с дополнительным / таким образом вызывающим 404.

Я использую Jmeter 5.1.1 и пробовал более старые версии Jmeter какхорошо, но соблюдайте ту же проблему. Я не вижу той же проблемы с Loadrunner, Silk Performer, Fiddler или любым другим инструментом. Я хочу иметь возможность записывать второй кадр так же, как он записывает первый кадр, чтобы я не выполнял кодирование URL для следующих кадров в одной форме.

1 Ответ

0 голосов
/ 28 октября 2019

В случае запроса GET все параметры добавляются в URL, а в соответствии с RFC 1738 не все символы могут использоваться в URL, вы можете использовать толькобуквенно-цифровой и $-_.+!*'(), другие должны быть в URL-кодировке

Если вы уверены, что JMeter создает URL-адрес неправильно, вы можете поднять проблему в JMeter Bugzilla , однакобудьте готовы предоставить воспроизводимый тестовый сценарий (было бы лучше для вопросов, задаваемых здесь).

Тем временем вы можете рассмотреть альтернативные способы записи теста JMeter, такие как JMeter Chrome Extension

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...