Я использую JMeter для загрузки теста веб-службы SOAP.Веб-сервис существует во множестве мест, таких как мой локальный хост, блок разработки, блок интеграции, производственный блок и т. Д.
Я использую пробоотборник запросов WebService (SOAP) и установил «Имя сервера».параметров IP "," Path "и" SOAP Action ", например, так:
Server Name of IP: ${SERVER}
Path: ${PATH}/service
SOAPAction: http://${SERVER}${PATH}service#action
Это прекрасно работает при использовании элемента конфигурации« Определяемые пользователем переменные ».Я просто изменяю СЕРВЕР и ПУТЬ на то, что является специфическим для места, в которое я пытаюсь попасть.Тем не менее, это больше боли в заднице, чем я хочу иметь дело.Я надеялся сделать (и попытался) добавить несколько логических контроллеров If в мою группу потоков и проверить наличие $ {MODE} (еще один UDV) и действовать соответствующим образом, настраивая мой SERVER и PATH.Итак, у меня было что-то вроде
"${MODE}" == "dev"
"${MODE}" == "local"
"${MODE}" == "production"
По одному на каждый If Controller, тогда у меня был дочерний элемент UDV, устанавливающий соответствующие SERVER и PATH.Значения из последнего UDV (в порядке появления в моей группе потоков) всегда использовались, несмотря на мое предположение, что если Controller, возвращающий false, будет препятствовать оценке UDV.Тем не менее, я вижу в документах, что все UDV оцениваются независимо от местоположения до запуска каких-либо потоков.Поэтому вместо этого я попытался использовать пользовательские параметры, но значения $ {SERVER} и $ {PATH} в моем сэмплере SOAP не заменяются, и я делаю запросы к http://${SERVER}${PATH}, что не годится.
Есть ли какой-нибудь элегантный способ справиться с этим?В настоящее время я просто копирую значения для SERVER и PATH каждый раз, когда мне нужно сменить сервер, на который я попал.Я знаю, что у меня также может быть несколько планов тестирования, по одному на каждый сервер, на который я собираюсь загрузить тест, но я часто делаю обновления в структуре, включая добавление новых тестов, отключение существующих тестов и изменение некоторых частей запросов SOAP, так что у меня есть кучаони не кажутся хорошим решением.
Любая помощь?