Перейти к содержимому

Фотография

HTTPS post request


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 a_a

a_a

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Ашрапов Аяз

Отправлено 05 сентября 2015 - 21:04

Можно ли в JMeter сконструировать POST запрос (использование HTTPS - обязательное условие) динамически?

К примеру необходимо:

1. открыть страницу с формой ввода и извлечь для всех hidden input значения value (реализовал с помощью BeanShell Post-Processor + JSoup), на выходе получив массив уникальных attendeeID.

2. сконструировать и отправить POST запрос, где параметры запроса будут вида parametername_attendeeID. 

 

Собирался использовать для данной цели JMeter HTTP Raw Request Sampler, но автор проекта отписался на этом форуме, что HTTPS не поддерживается данным сэмплером.

 

Возможно ли реализовать данный сценарий средствами JMeter?

Если нет, то на какие бесплатные инструменты есть смысл обратить свое внимание?

Рассматривал вариант с использованием WebDriver Sampler для реализации описанного выше сценария, но ресурсов для эмуляции необходимого количества пользователей не хватит (требуется не менее 100 потоков).

Если воспользоваться WebDriver Sampler, то будет ли эффективно использовать его вместе скажем с BlazeMeter, чтобы получить необходимое количество пользователей на выходе?


  • 0

#2 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 07 сентября 2015 - 10:56

Что мешает использовать http://jmeter.apache...ml#HTTP_Request и почему для извлечения  value не пользоваться например http://jmeter.apache...ssion_Extractor ?


  • 0

#3 a_a

a_a

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Ашрапов Аяз

Отправлено 07 сентября 2015 - 11:22

Что мешает использовать http://jmeter.apache...ml#HTTP_Request и почему для извлечения  value не пользоваться например http://jmeter.apache...ssion_Extractor ?

А динамически конфигурировать сэмплер HTTP Request как? У меня от 1 до 16 динамических параметров, названия которых должны формироваться используя ответ на предыдущий запрос. Насчет извлечения value - из ответа я извлекаю массив, который мне нужно хранить и использовать в следующем запросе. Не знаю, чем мне поможет Regular Expression Extractor в этом деле.  


  • 0

#4 Rakogon

Rakogon

    Новый участник

  • Members
  • Pip
  • 6 сообщений

Отправлено 07 сентября 2015 - 17:20

Если вы возьмете на себя труд пройти по приведенным выше адресам и почитать документацию, то уже на втором скриншоте первой ссылки увидите пример параметризациии (${host}), а вторая ссылка расскажет как обращаться к элементам массива, полученного применением Reg Exp Extractor.


  • 0

#5 a_a

a_a

    Новый участник

  • Members
  • Pip
  • 9 сообщений
  • ФИО:Ашрапов Аяз

Отправлено 07 сентября 2015 - 19:15

Если вы возьмете на себя труд пройти по приведенным выше адресам и почитать документацию, то уже на втором скриншоте первой ссылки увидите пример параметризациии (${host}), а вторая ссылка расскажет как обращаться к элементам массива, полученного применением Reg Exp Extractor.

Спасибо за напоминание о наличии документации, но к сожалению наличие Reg Exp Extractor не решает для меня проблему работы с массивом произвольного размера, где мне нужно взять все значения из массива, конкатенировать их с префиксами firstName, lastName и т.д. и получить таким образом массив параметров вида firstName_1, lastName1, firstName_2, lastName_2 и т.д. для каждого элемента массива, извлеченного из предыдущего запроса. 

 

Пока я нашел только один возможный вариант реализации - взять JSR223 Sampler и на Groovy с помощью HTTPBuilder собрать себе POST запрос, requestBody которого я могу создавать динамически. Если верить http://habrahabr.ru/post/250731/ то по скорости этот вариант весьма неплох, а возможность использовать Groovy вместо BeanShell не может не радовать.


  • 0

#6 fesd

fesd

    Опытный участник

  • Members
  • PipPipPipPip
  • 262 сообщений

Отправлено 08 сентября 2015 - 09:23

 

Если вы возьмете на себя труд пройти по приведенным выше адресам и почитать документацию, то уже на втором скриншоте первой ссылки увидите пример параметризациии (${host}), а вторая ссылка расскажет как обращаться к элементам массива, полученного применением Reg Exp Extractor.

Спасибо за напоминание о наличии документации, но к сожалению наличие Reg Exp Extractor не решает для меня проблему работы с массивом произвольного размера, где мне нужно взять все значения из массива, конкатенировать их с префиксами firstName, lastName и т.д. и получить таким образом массив параметров вида firstName_1, lastName1, firstName_2, lastName_2 и т.д. для каждого элемента массива, извлеченного из предыдущего запроса. 

 

Пока я нашел только один возможный вариант реализации - взять JSR223 Sampler и на Groovy с помощью HTTPBuilder собрать себе POST запрос, requestBody которого я могу создавать динамически. Если верить http://habrahabr.ru/post/250731/ то по скорости этот вариант весьма неплох, а возможность использовать Groovy вместо BeanShell не может не радовать.

 

 

Я вроде понял, что вы хотите. С извлечением массива удобнее и скорее всего производительнее все таки использовать Reg Exp Extractor, для этого в Match No указываем отрицательное число, например -1. А сформировать тело запроса можно разными способами, например:

1) Как вариант использовать http://jmeter.apache...Each_Controller для прохода по массиву, полученному с помощью  Reg Exp Extractor и внутри этого foreach можно уже сформировать тело запроса любым удобным для вас способом, обращаясь к переменным жметра через ${}.

2) Либо сам цикл с формированием тела запроса запихнуть в какой-нибудь preprocessor(JSR223 или beanshell, какой вам больше нравится)


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных