JMeter не заменяет $ {SUBPANEL_RELATE_MODULE_g1} своим значением - PullRequest
1 голос
/ 30 июня 2011

Это длинная история, но я постараюсь упростить ее:

  1. Я сгенерировал MeterMaid XML-файлы с SugarMMM ;Я выбрал только модуль Учетные записи:

    enter image description here

  2. Я преобразовал указанные выше файлы в формат JMeter с помощью MeterMaid (я объединил тесты в один файл и назвал его «имя файла».xml "):

    ruby GenMeter.rb --inputfile=filename.xml --outputfile=filename.jmx
    
  3. Я выполнил необходимую настройку CSV.Все файлы CSV содержат данные для входа (usr,pwd) для тестирования одновременных входов пользователей.Эта часть действительно хорошо работает.

Когда я запускаю тест, я вижу, что целая куча ${} переменных преобразуется в соответствующие значения.К сожалению, ${SUBPANEL_RELATE_MODULE_g1} не удалось решить ... вот как выглядит URL GET (из Дерево результатов компонент слушателя):

http://localhost/sugarcrm/index.php?module=${SUBPANEL_RELATE_MODULE_g1}&action=Popup&hide_clear_button=true&mode=MultiSelect&create=true&metadata=undefined

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

enter image description here

Вот как эта переменная настроена (что задолго довремя его использования):

enter image description here

Вот что Отладочный отборщик говорит:

JMeterVariables:
CAMPAIGN_ID=CAMPAIGN_ID_ERROR
CAMPAIGN_NAME=CAMPAIGN_NAME_ERROR
CONTACT_ID=997a3171-aa60-b2d6-a457-4e0ba8b0052b
CONTACT_ID_g=4
CONTACT_ID_g0=onclick="send_back('Contacts','997a3171-aa60-b2d6-a457-4e0ba8b0052b');">Prof
CONTACT_ID_g1=onclick="send_back('Contacts','
CONTACT_ID_g2=997a3171-aa60-b2d6-a457-4e0ba8b0052b
CONTACT_ID_g3=');">
CONTACT_ID_g4=Prof
CONTACT_NAME=Prof
CONTACT_NAME_g=4
CONTACT_NAME_g0=onclick="send_back('Contacts','997a3171-aa60-b2d6-a457-4e0ba8b0052b');">Prof
CONTACT_NAME_g1=onclick="send_back('Contacts','
CONTACT_NAME_g2=997a3171-aa60-b2d6-a457-4e0ba8b0052b
CONTACT_NAME_g3=');">
CONTACT_NAME_g4=Prof
FOUND_ID=1
JMeterThread.last_sample_ok=true
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@3c1635
MEMBER_OF_ID=d7c26344-cad8-0503-b02a-4e0cb4db3985
MEMBER_OF_ID_g=4
MEMBER_OF_ID_g0=onclick="send_back('Accounts','d7c26344-cad8-0503-b02a-4e0cb4db3985');">searchSearchForm
MEMBER_OF_ID_g1=onclick="send_back('Accounts','
MEMBER_OF_ID_g2=d7c26344-cad8-0503-b02a-4e0cb4db3985
MEMBER_OF_ID_g3=');">
MEMBER_OF_ID_g4=searchSearchForm
MEMBER_OF_NAME=searchSearchForm
MEMBER_OF_NAME_g=4
MEMBER_OF_NAME_g0=onclick="send_back('Accounts','d7c26344-cad8-0503-b02a-4e0cb4db3985');">searchSearchForm
MEMBER_OF_NAME_g1=onclick="send_back('Accounts','
MEMBER_OF_NAME_g2=d7c26344-cad8-0503-b02a-4e0cb4db3985
MEMBER_OF_NAME_g3=');">
MEMBER_OF_NAME_g4=searchSearchForm
OPPORTUNITY_ID=864e402f-0d76-ab6e-b54f-4e0cb42f0249
OPPORTUNITY_ID_g=4
OPPORTUNITY_ID_g0=onclick="send_back('Opportunities','864e402f-0d76-ab6e-b54f-4e0cb42f0249');">value
OPPORTUNITY_ID_g1=onclick="send_back('Opportunities','
OPPORTUNITY_ID_g2=864e402f-0d76-ab6e-b54f-4e0cb42f0249
OPPORTUNITY_ID_g3=');">
OPPORTUNITY_ID_g4=value
OPPORTUNITY_NAME=value
OPPORTUNITY_NAME_g=4
OPPORTUNITY_NAME_g0=onclick="send_back('Opportunities','864e402f-0d76-ab6e-b54f-4e0cb42f0249');">value
OPPORTUNITY_NAME_g1=onclick="send_back('Opportunities','
OPPORTUNITY_NAME_g2=864e402f-0d76-ab6e-b54f-4e0cb42f0249
OPPORTUNITY_NAME_g3=');">
OPPORTUNITY_NAME_g4=value
RANDOM_CHAR=o
RANDOM_CHAR_g=1
RANDOM_CHAR_g0=o
RANDOM_CHAR_g1=o
RANDOM_STRING=value
RANDOM_STRING_g=1
RANDOM_STRING_g0=value
RANDOM_STRING_g1=value
RECORD_NAME=NOT_FOUND
RECORD_NUMBER=3250317d-6c79-b20d-5e36-4e0cb4746e84
RECORD_NUMBER_g=2
RECORD_NUMBER_g0=javascript:lvg_nav('Accounts', '3250317d-6c79-b20d-5e36-4e0cb4746e84
RECORD_NUMBER_g1=javascript:lvg_nav('Accounts', '
RECORD_NUMBER_g2=3250317d-6c79-b20d-5e36-4e0cb4746e84
SEARCH_FIELD=SEARCH_FIELD_ERROR
START.HMS=190308
START.MS=1309453388621
START.YMD=20110630
SUBPANEL_RELATE_MODULE=Accounts
TEAM_ID=seed-Teams8
TEAM_ID_g=4
TEAM_ID_g0=onclick="send_team_to_form('Teams','seed-Teams8');">Ball
TEAM_ID_g1=onclick="send_team_to_form('Teams','
TEAM_ID_g2=seed-Teams8
TEAM_ID_g3=');">
TEAM_ID_g4=Ball
TEAM_NAME=Ball
TEAM_NAME_g=4
TEAM_NAME_g0=onclick="send_team_to_form('Teams','seed-Teams8');">Ball
TEAM_NAME_g1=onclick="send_team_to_form('Teams','
TEAM_NAME_g2=seed-Teams8
TEAM_NAME_g3=');">
TEAM_NAME_g4=Ball
TESTSTART.MS=1309455500088
pwd=user1
usr=user1

ОБНОВЛЕНИЕ :

Вот после изменения Шаблон на $1$$2$$3$$4$:

enter image description here

А вот вывод отладки (сэмплерставится сразу после регулярного выражения контроллера):

JMeterVariables:
JMeterThread.last_sample_ok=true
JMeterThread.pack=org.apache.jmeter.threads.SamplePackage@18fde89
RANDOM_CHAR=t
RANDOM_CHAR_g=1
RANDOM_CHAR_g0=t
RANDOM_CHAR_g1=t
RANDOM_STRING=Tanzania
RANDOM_STRING_g=1
RANDOM_STRING_g0=Tanzania
RANDOM_STRING_g1=Tanzania
RECORD_NAME=NOT_FOUND
RECORD_NUMBER=DOCTYPE
RECORD_NUMBER_g=1
RECORD_NUMBER_g0=DOCTYPE
RECORD_NUMBER_g1=DOCTYPE
START.HMS=100932
START.MS=1312531772599
START.YMD=20110805
SUBPANEL_RELATE_MODULE=Accounts
TESTSTART.MS=1312542237235
pwd=user1
usr=user1

Ответы [ 5 ]

1 голос
/ 30 июня 2011

Убедитесь, что в вашей конфигурации набора данных CSV все переменные объявлены правильно (без опечаток, без пропусков, без пробелов перед именами переменных и т. Д.)

Я бы также предложил поместить в ваше дерево отладочный сэмплер , так как он покажет вам каждую переменную и ее значение и может сэкономить много времени.

Edit:

Похоже, ваше регулярное выражение неправильно настроено для создания нескольких групп. Если вы посмотрите в свой сэмплер Debug, у вас есть SUBPANEL_RELATE_MODULE=Accounts, но не SUBPANEL_RELATE_MODULE_g1=. Это означает, что у вас нет настроек ГРУПП.

Глядя на свое регулярное выражение, строка template: $0$ говорит: "дай мне только одну группу", тогда как похоже, что ты хочешь 4. Таким образом, тебе следует попробовать template: $1$$2$$3$$4$, первое совпадение должно быть _g1, второе _g2 и так далее. За подробностями обращайтесь к руководству .

1 голос
/ 18 июля 2011

разумно используйте переменную $ {SUBPANEL_RELATE_MODULE_g1} во всем сценарии после того, как она определена средством извлечения регулярных выражений.Убедитесь, что он существует.Используйте его в заголовках контроллеров, заголовках тестов, в начале тестов и в конце тестов.

Это поможет сузить его

Таким образом, вы можете следовать за ним в скриптеубедиться, что он существует как раз перед тем, как его использовать, и найти, где он разрушается.В основном отладка выписки оператора.

0 голосов
/ 16 марта 2016

Похоже, ваше регулярное выражение не подбирает совпадение, ваше значение по умолчанию установлено как "Учетные записи", а в результатах отладки это значение переменной.Группы совпадений вы получите только в случае совпадения регулярного выражения.

Теперь у прослушивателя дерева результатов просмотра есть тестер RegExp, поэтому вы можете перейти к запросу, который вы пытаетесь извлечь из результата переменной SUBPANEL_RELATE_MODULEв дереве результатов и выберите RegExp Tester из выпадающего меню, в котором указано «Текст».

Затем вы можете запустить свое регулярное выражение для данных ответов в тестере RegExp и, вероятно, обнаружить, что оно не совпадает, а затемотточить ваше регулярное выражение, чтобы оно соответствовало и обновить его в вашем экстракторе регулярных выражений.

0 голосов
/ 07 ноября 2014

Ожидаются следующие значения

${SUBPANEL_RELATE_MODULE_g1}

но вы настроили справочное имя экстрактора регулярных выражений как

"SUBPANEL_RELATE_MODULE"

Есть две опции, которые вы можете получить значения

  1. Вы должны изменить ${SUBPANEL_RELATE_MODULE_g1} на ${SUBPANEL_RELATE_MODULE}
  2. Вы должны изменить имя ссылки на экстрактор регулярных выражений как "SUBPANEL_RELATE_MODULE _g1" на "SUBPANEL_RELATE_MODULE"

После этого ваши значения будут правильно заменены.

0 голосов
/ 30 июня 2011

Я не знаю о сахарной CRM или счетчике, но для jmeter у меня была похожая проблема с переменной, которая не была решена.

Проверьте, объявлена ​​ли эта переменная где-либо, или, возможно, вам нужно написать reg ex для извлечения этого значения из предыдущего запроса.

Проблема, которую я получил, заключалась в том, что я извлек переменную изCSV-файлы

имя переменной CONTRACTNO, CLIENTNO

мой URL: / SomeURL / bla? EventId = contractSelected & contractNoSelected = $ {CONTRACTNO} & applicationID = BLa

И это не сработало, поэтому я изменил имя переменной в CSV-файле на:

CONTRACTNO, CLIENTNO (посмотрите, что я удалил пробел)

Jmeter, как правило, очень разборчивы с пробелами в названии и определении переменной.

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