2016-10-24 1 views
0

Использование JMeter 2.13, Maven и Linux на всех серверах. Не выполняйте никаких тестов с gui или командной строки, Maven используется!Не удается передать параметры ведомым устройствам с распределенной настройкой JMeter с помощью Maven и linux

Имейте план тестирования с множеством параметров, которые установлены и переданы из исполнения Maven в Jenkins в план тестирования JMeter. Использование «-J» в Maven для установки входных параметров. Работает отлично в одном окружении JMeter.

Если я сначала запускаю JMeter в подчиненных устройствах, а затем запустите задание Jenkins, план тестирования на указанных удаленных серверах запускается правильно. Но я заметил, что никакие параметры не передаются на удаленные серверы. Таким образом, я не могу контролировать выполнение плана тестирования. Временным решением является жесткое кодирование некоторых параметров в плане тестирования. Но это неприемлемое решение!

Я много огляделся. Нашли эти страницы, JMeter distributed testing and command line parameters и this

Но я бегу от Maven, а не из командной строки, поэтому «-G» не работает!

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

С помощью этой установки в pom.xml,

<propertiesJMeter> 
    <remote_hosts>10.71.98.54,10.71.98.82,10.71.98.81</remote_hosts> 
</propertiesJMeter> 

мне удалось получить базовое ведомое подключение к работе; Я вижу, что распечатка IP-адресов удаленного сервера в журнале вывода/журнала и плана тестирования запущена и работает нормально, и журналы тоже выглядят нормально. Но проблема в том, что параметры не передаются на удаленные серверы!

Некоторые дополнительные настройки П:

<configuration> 
    <remoteConfig> 
     <startServersBeforeTests>true</startServersBeforeTests> 
     <stopServersAfterTests>true</stopServersAfterTests> 
    </remoteConfig> 
    <propertiesUser> 
     <THROUGHPUT>${throughput}</THROUGHPUT> 
     <NUMBER_OF_LOOPS>${number_of_loops}</NUMBER_OF_LOOPS> 
     <DURATION>${duration}</DURATION> 
     <NUMBER_OF_CLIENTS>${number_of_clients}</NUMBER_OF_CLIENTS>     
    </propertiesUser> 

... 

Пожалуйста, может кто-то помочь?

ответ

0

Согласно documentation:

Добавление дополнительных свойств propertiesGlobal


Глобальные свойства являются свойствами, которые посылаются на удаленных машинах. Для того, чтобы установить те свойства, которые необходимо будет указать каждое свойство в вашем pom.xml в конфигурации элемента propertiesGlobal (В приведенном ниже примере показано свойство нити и свойство testIterations быть установлен).

<project> 
    [...] 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>com.lazerycode.jmeter</groupId> 
        <artifactId>jmeter-maven-plugin</artifactId> 
        <version>2.0.3</version> 
        <executions> 
         <execution> 
          <id>jmeter-tests</id> 
          <goals> 
           <goal>jmeter</goal> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <propertiesGlobal> 
          <threads>10</threads> 
          <testIterations>5</testIterations> 
         </propertiesGlobal> 
        </configuration> 
       </plugin> 
      </plugins> 
     </build> 
    [...] 
</project> 

Так это выглядит, как вам нужно, чтобы переместить эти свойства <propertiesGlobal> из <propertiesUser>

Ссылки:

0

Большое спасибо. Ваша первая ссылка на документацию указывает на неправильную страницу, я думаю. Во всяком случае, я думаю, вы имеете в виду, https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Modifying-Properties#6

Странно, что найти из справочника «JMeter dist» так трудно найти.

Большое спасибо. :-) Параметры теперь отлично работают.

Но параметры remoteConfig не работают. Jmeter remote connection throwing "Connection refused to host" https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Remote-Server-Configuration

Но может кто-то подтвердить, что вывод в первой ссылке выше верен?

Когда я прочитал информацию во второй ссылке, я понял ее, так как JMeter не нужно запускать. Но это так, что «jmeter-server» нужно запустить, иначе он не будет работать, правильно? Угадайте, теперь это имеет смысл.

Смежные вопросы