2016-08-15 7 views
2

Насколько я знаю, JMeter позволяет вам отправлять несколько запросов POST с различными параметрами (например, { "value": "value1"}, {"value": "value2"}, ...) Однако мне удобнее используя терминальный интерфейс, подобный ab или siege. В принципе, мне нужно загрузить тестовый сервер, имитирующий случай, когда некоторые запросы не кэшируются ранее.Альтернативы JMeter для запросов POST с разными параметрами (должны работать без GUI)

Существуют ли альтернативы JMeter для Linux, которые могут использовать разные параметры для запроса POST?

UPDATE

Насколько я могу судить, JMeter требует создания плана тестирования (JMX-файл), чтобы запустить через командную строку. К сожалению, этот план тестирования должен быть построен с использованием графического интерфейса пользователя, чего я хочу избежать.

UPDATE 2

Я буду использовать JMeter, потому что он предлагает динамические параметры для запросов POST, и большинство альтернатив зависит от JMeter. Однако, если кто-нибудь знает автономную библиотеку, которая работает исключительно с терминала (аналогично ab), пожалуйста, дайте мне знать.

ответ

2

Вы можете использовать JMeter в терминальном режиме, это называется режимом без GUI.

Для variabilize просто использовать Csv набор данных для загрузки переменных (VarName например) на поток, а затем использовать $ {имяПерем}

См:

Хороший отчет в конце:

Если вы не хотите использовать графический интерфейс, даже для построения теста, а затем посмотреть на:

Это позволяет генерировать JMX из файла DSL.

Примеры здесь:

DSL здесь:

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) 
    require 'ruby-jmeter' 
    test do 
    csv_data_set_config name:'MyCsv', filename: '/path to file', variableNames: 'myParam' 
    threads count: 10 do 
     visit name: 'Qwant Search', url: 'https://lite.qwant.com/?q=flood.io&t=web&p=${myParam}' 
    end 
    end.jmx(file: "path to your output plan") 

Сохранить файл рубинового JMeter-csv.rb Вы можете сгенерировать план с:

рубин рубин-JMeter-csv.rb

И запустить его в не-gui-режим.

+0

Да, я думаю, что это то, что я собираюсь сделать, но я не могу понять, какие аргументы командной строки необходимо использовать для подачи набора данных csv и установить заданную переменную $ {varName}. У вас есть пример, который показывает, как его использовать? –

+0

следует за любым учебным пособием, показывающим, как использовать его в режиме gui, он будет работать нормально в режиме non gui. Просто убедитесь, что путь к файлу cdv в порядке –

+0

Это не происходит в командной строке. CSV DataSet заполнит переменную (это одно из полей) из файла CSV (другое поле) на каждой итерации группы потоков.Gui или NOn Gui работает так же –

1

На самом деле JMeter GUI должны быть использованы для разработки тестов и только отладки, когда дело доходит до запуска теста нагрузки - рекомендуется запустить JMeter в command line mode через Ant task или Maven plugin. Также есть несколько более «выродок» альтернатив, то есть:

  • JMeter .jmx скрипты в основном XML-файлы, так что вы можете использовать ваш любимый текстовый редактор, чтобы создать или изменить их
  • Вы можете использовать JMeter API для создания и начать JMeter тесты с использованием языка Java

Если вы все еще ищете альтернативу, вот несколько свободных и открытых инструментов тестирования источник нагрузки

  • Grinder - вы можете писать скрипты в Jython
  • Gatling - вы можете писать скрипты в Scala -На DSL
  • Tsung - только платформы этот парень существует для Linux и Unix на основе, Erlang основе. Скрипты представляют собой файлы XML.
  • Taurus - система автоматизации, которая поддерживает все вышеупомянутые инструменты (и некоторые другие), файлы конфигурации на основе Python имеют простой синтаксис YAML.

См Open Source Load Testing Tools: Which One Should You Use? для получения дополнительной информации о вышеуказанных инструментах и ​​сравнении их с JMeter

+0

Спасибо. Мне нравится Taurus, но я думаю, что он использует JMeter в качестве бэкэнд. Если это так, я предпочитаю использовать JMeter, но я все еще не уверен, как использовать CSV-файл для динамических параметров в запросе POST. В большинстве учебных пособий показано, как это сделать с помощью графического интерфейса. –