Есть ли способ передать значения в следующем запросе на основе условия истинно в Jmeter - PullRequest
0 голосов
/ 09 апреля 2020

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

Ex

If(formtype==1) {

send 1 value in next request for 1 of the body value}

if(formtype==2)

{ send 2 value in next request for 1 of the body value }

Пожалуйста, сообщите

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Просто извлеките значение formtype с помощью подходящего постпроцессора JMeter (для HTML типов ответов наиболее подходящим будет CSS Selector Extractor ) и сохраните это в Переменная JMeter

В результате вы получите, например, ${formtype} Переменная JMeter со значением 1, 2 или любым другим значением этого атрибута, переменная может использоваться непосредственно в следующих (и последующих) запросах

Весь процесс известен как корреляция , и в Интернете имеется много информации об этом.

0 голосов
/ 09 апреля 2020

Вы можете добавить условные обработчики, используя JMeter Post или Pre-Processors. Например, я использую JSON Extractor, чтобы получить данные ответа, хранящиеся в FORM_DATA и объединенные с JSR223 PostProcessor Javascript.

...
var formData = JSON.parse(vars.get("FORM_DATA"));
var formtype = formData.formtype;

if(formtype == 1) {
    log.info("data_next_req" + data_next_req);

    // SET vars
    vars.put("DATA_NEXT_REQ", data_next_req);

} else if (formtype == 2){
    log.info("data_next_req_1" + data_next_req_1);
    log.info("data_next_req_2" + data_next_req_2);

    // SET vars
    vars.put("DATA_NEXT_REQ_1", data_next_req_1);
    vars.put("DATA_NEXT_REQ_2", data_next_req_2);
}

Затем, при следующем запросе, вы можете получить значение на $ {vars -имя}.

...