JMeter динамически вставляет имя сервера или IP - PullRequest
9 голосов
/ 25 января 2011

Я пытаюсь создать тесты JMeter и использовать одни и те же тесты для разных сред - QA, Staging, Dev и т. Д. Я хочу динамически изменить IP-адрес, изменив файл CSV или передав значение через ant-скрипт или вручную черезкомандная строкаК сожалению, я не смог этого сделать.Тест не получает значение из файла CSV или из командной строки.

Может кто-нибудь, пожалуйста, помогите мне.

Заранее спасибо.

Ответы [ 5 ]

10 голосов
/ 04 февраля 2011

Я обычно добавляю элемент HTTP Request Defaults в тест и изменяю его вручную.

Selecting an HTTP Request Defaults

enter image description here

В противном случае для автоматизации вы можете изменить файл jmx, используя скрипт.

Редактировать на самом деле, вы можете использовать муравьиные фильтры для динамического изменения во время сборки.Например, используйте фильтр <filter token="SERVER" value="${server}"/>, а цель copy с фильтрацией по приведенному ниже файлу даст вам новый файл jmx, который будет использовать правильный сервер.

 <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="HTTPSampler.domain">@SERVER@</stringProp>
          <stringProp name="HTTPSampler.port"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
          <stringProp name="HTTPSampler.protocol"></stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path"></stringProp>
        </ConfigTestElement>
4 голосов
/ 01 февраля 2012

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

Взгляните на этот раздел документации: http://jmeter.apache.org/usermanual/test_plan.html#using_variables

Этот раздел также полезен: http://jmeter.apache.org/usermanual/functions.html#__P

Если вы хотите изменить имя хоста, вы можете использовать следующий подход:

Определите значение свойства в командной строке:

jmeter -Jhostname1 = www.realhost.edu

Получить значение в самом тесте, предоставив значение по умолчанию, если ни один не доступен:

$ {__ P (hostname, www.dummy.org)} - возвращаемое значение свойства hostname или www.dummy.org, если не определено

1 голос
/ 29 февраля 2016

Прежде всего, вы должны поместить свой CSV-файл, где вы сохранили файл тестового скрипта. Обычно тестовый скрипт может быть сохранен как с расширением jmx и помещен ваш CSV-файл в тот же каталог.

Содержимое файла CSV выглядит следующим образом:

url;www.test123.com
url;www.test1234.com
url;www.test12345.com

Обратите внимание, что в конфигурации группы потоков количество потоков должно быть минимальным количеством строк в файле csv. В соответствии с вышеуказанным CSV-файлом, мы должны определить как минимум 3 потока в группе потоков.

После этой конфигурации JMeter будет автоматически вызывать конфигурацию Http Request Defaults каждый раз при выполнении потока.

Конфигурация набора данных CSV

enter image description here

HTTP-запрос по умолчанию

enter image description here

HTTP-запрос (задан только путь)

enter image description here

Средство извлечения регулярных выражений (необязательно, чтобы найти конкретный ответ)

enter image description here

Запись найденного результата регулярного выражения в файл (необязательно)

enter image description here

Источник: http://www.codesenior.com/en/tutorial/JMeter-Dynamically-Change-Server-Name-Using-CSV-Data-File

0 голосов
/ 26 января 2011

Набор данных CSV - это простой способ изменения большого количества значений.

Если у вас есть желание сделать это из командной строки, вы можете установить учетные данные домена и имени входа в качестве PROPERTIES, а затем определитьсвойства из командной строки

0 голосов
/ 25 января 2011

Если вы посмотрите на документацию , использовать CSV для загрузки переменных при запуске довольно просто:

Создать текстовый файл, содержащий имена пользователей и пароли, разделенные запятыми. Поместите его в тот же каталог, что и план тестирования.

Добавьте элемент конфигурации CSV DataSet в план тестирования. Назовите переменные USER и PASS.

Замените имя входа на $ {USER} и пароль на $ {PASS} на соответствующих сэмплерах

Элемент набора данных CSV будет читать новую строку для каждого потока

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

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