Тест производительности jmeter: использование функций - PullRequest
2 голосов
/ 07 ноября 2011

Я написал jmeter test для проверки работоспособности сайта. Поэтому я хотел бы протестировать работу сайта, когда много пользователей, например, десять. Я создал план тестирования JMeter с 10 одновременными пользователями. Для каждого запроса пользователя должны быть указаны уникальные заголовки:

<HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="headers" enabled="true">
      <collectionProp name="HeaderManager.headers">
        <elementProp name="" elementType="Header">
          <stringProp name="Header.name">myHeader</stringProp>
          <stringProp name="Header.value">60000${__counter(FALSE)}${__machineName}</stringProp>
        </elementProp>

Этот план тестирования работает нормально, когда я запускаю его с помощью инструмента графического интерфейса JMeter - результат:

<httpSample t="14774" it="0" lt="14772" ts="1320656944945" s="true" lb="HTTP Request" rc="200" rm="OK" tn="Thread Group 1-1" dt="text" de="UTF-8" by="15213" sc="1" ec="0" ng="5" na="5">

myHeader: 600001D000753 Подключение: keep-alive

Но я хочу встроить эти тесты на сервер hudson, поэтому он должен быть в состоянии работать с помощью Maven. И когда я запускаю его как 'mvn jmeter: jmeter' - встроенные функции (я использовал counter и machineName, также пытался использовать 'threadNum' с тем же результатом) не работают:

<httpSample t="23584" it="0" lt="23557" ts="1320656803378" s="true" lb="HTTP Request" rc="200" rm="OK" tn="Thread Group 1-2" dt="text" de="UTF-8" by="14816" sc="1" ec="0" ng="9" na="9">

myHeader: 60000 $ {_ counter (FALSE)} $ { _machineName} Подключение: keep-alive

Почему это так и как я могу это исправить?

UPD
Я исправил это так: Я поместил <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="myCounter" enabled="true"> <stringProp name="CounterConfig.start">1</stringProp> <stringProp name="CounterConfig.end">100</stringProp> <stringProp name="CounterConfig.incr">1</stringProp> <stringProp name="CounterConfig.name">myCounter1</stringProp> <stringProp name="CounterConfig.format"></stringProp> <boolProp name="CounterConfig.per_user">false</boolProp> </CounterConfig> в план тестирования, а затем использовал ${myCounter1} в конфигурации заголовков

1 Ответ

0 голосов
/ 30 мая 2012

UPD: я исправил это таким образом: я поместил <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="myCounter" enabled="true"> <stringProp name="CounterConfig.start">1</stringProp> <stringProp name="CounterConfig.end">100</stringProp> <stringProp name="CounterConfig.incr">1</stringProp> <stringProp name="CounterConfig.name">myCounter1</stringProp> <stringProp name="CounterConfig.format"></stringProp> <boolProp name="CounterConfig.per_user">false</boolProp> </CounterConfig> в план тестирования, а затем использовал ${myCounter1} в конфигурации заголовков

...