Тестирование JMeter для URL-адреса, который содержит @ как параметр пути

#api #http #jmeter #character-encoding #special-characters

#API #http #jmeter #кодировка символов #специальные символы

Вопрос:

У меня есть REST API, который принимает имя пользователя в качестве параметра пути, например — app/users/{username} . В соответствии с бизнес-требованиями, имя пользователя также может быть адресом электронной почты. Приложение разработано, и мы можем протестировать его с помощью postman, curl и т.д., закодировав URL-адрес. Но когда мы используем JMeter для тестирования того же API, мы не можем отправить закодированный URL-адрес с помощью JMeter. Чтобы продемонстрировать проблему, я создал сайт webhook (https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter@jmeter ) и запрашивается, как показано ниже.

«ПОЛУЧИТЬ https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter@jmeter «

Это привело к созданию веб-хука, как показано ниже

«https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter@jmeter »

Но нам нужен результат, подобный приведенному ниже, который мы могли бы получить с помощью postman или curl.

curl —location —запрос GET ‘https://webhook.site/3c84998f-ecbb-4cee-a1e1-7c7ae059a209/testjmeter@jmeter ‘

Пожалуйста, помогите, как мне нужно подготовить мой скрипт JMeter, который выдает тот же результат, что и выше (в curl)

Ответ №1:

Я не могу воспроизвести вашу проблему, используя последнюю версию JMeter 5.4

Не уверен, что делает ваш «webhook», однако в инструменте сниффера, таком как Wireshark, пути запросов точно такие же для curl и JMeter, и no @ не декодируется в @

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

Если вы можете успешно отправить свой запрос через curl или postman, вы должны иметь возможность записать его с помощью HTTP (ов) Тестовый скрипт записи — таким образом, вы получите соответствующую конфигурацию JMeter.

Комментарии:

1. Спасибо. Я использовал JMeter 5.1.1. Как только я использовал JMeter 5.4, проблема решена.