Интеграция JMeter с фреймворком Cucumber+Ruby+Selenium

У нас есть BDD-фреймворк, построенный на Selenium + Cucumber + Ruby, который мы используем для функционального тестирования. Можно ли интегрировать JMeter с этими скриптами?


person Sonu Mehta    schedule 20.08.2014    source источник
comment
Что вы имеете в виду под интеграцией? Вы имеете в виду вызов файла «.jmx» из Ruby?   -  person Bala    schedule 20.08.2014
comment
нет, мы не хотим создавать файлы .jmx. Под интеграцией я имею в виду, что мы хотим использовать наши существующие функциональные тестовые наборы селена для нагрузочного теста.   -  person Sonu Mehta    schedule 20.08.2014
comment
Я не думаю, что это правильное использование огурца/рубина/селена. Вся эта настройка предназначена для имитации реального пользователя, поэтому следует дождаться загрузки страницы и т. д. С помощью нагрузочного тестирования вы можете в конечном итоге выдать огромное количество информации, которую реальный пользователь не сможет получить.   -  person yesiamtom    schedule 20.08.2014


Ответы (1)


Пробовали ли вы гем ruby-jmeter? Это должно быть так просто:

test do
  threads count: 10 do
    visit name: 'Example Domain', url: 'http://example.com'
  end
end.run(
  path: 'c:/JMeter/bin/',
  file: 'test.jmx',
  log: 'jmeter.log',
  jtl: 'test.jtl')

Если у вас нет возможности установить/использовать jmeter-ruby gem, JMeter — это приложение на основе Java, поэтому полную интеграцию с Cucumber получить нелегко (если только вы не используете Cucumber-JVM, но это все еще возможно

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

`jmeter -n -t /path/to/script.jmx -l /path/to/results.jtl`

or

%x(jmeter -n -t /path/to/script.jmx -l /path/to/results.jtl)

Вы можете переключить формат результатов JMeter на xml (по умолчанию CSV) и проанализировать результаты XML, чтобы определить критерии прохождения/непрохождения. Формат вывода результатов управляется с помощью свойства jmeter.save.saveservice.output_format, которое можно раскомментировать и установить в файле jmeter.properties, переопределить в файле user.properties (оба находятся в папке /bin вашего JMeter). установка) или предоставляется в качестве аргумента командной строки с помощью ключа -J как

%x(jmeter -Jjmeter.save.saveservice.output_format=xml -n -t /path/to/script.jmx -l /path/to/results.jtl)
person Dmitri T    schedule 20.08.2014
comment
Я думаю, что с помощью ruby-jmeter gem мы можем только преобразовать наш план тестирования jmeter, написанный на ruby, в файл .jmx, но наше требование состоит в том, чтобы загрузить и протестировать наш существующий скрипт selenium, как мы делаем для сборки фреймворка в java-selenium. - person Sonu Mehta; 21.08.2014
comment
Хорошо, теперь я понял вашу точку зрения. В настоящее время невозможно преобразовать селеновые тесты в JMeter, однако вы можете запускать свои селеновые тесты через прокси-сервер JMeter, который будет записывать ваш тестовый поток. После записи вы сможете воспроизвести тест с большим количеством виртуальных пользователей. - person Dmitri T; 21.08.2014
comment
Спасибо Дмитрий Т за ваш ответ. Кстати, мы хотим добиться чего-то вроде этого intensetesting.wordpress.com/2013/09/25/ но, в отличие от этого, в нашем фреймворке есть огуречный рубин. - person Sonu Mehta; 21.08.2014
comment
Если вам нужны многопоточные тесты на селен, я считаю, что комбинация сэмплера JSR223 и JRuby должна подойти. Однако в этом случае я бы предпочел Selenium Grid. - person Dmitri T; 21.08.2014