Jmeter запускает http-запрос после успешного выполнения http-запроса. Параллельные запросы с условием - PullRequest
0 голосов
/ 07 ноября 2018

I have 2 thread groups 
Thread group1: 
    csv data set configure
	{
		loop through the csv file(CSVFile.csv) that contain fileNames of json data to post
		eg: CSVFile.csv
				file1.json
				file2.json
				.....so on
	}
	http request (That posts the data to rest api) (lets call it POST request)
	{
		extracts data from each json file and put it in http body and post to rest api
		eg:
			extract data from file1.json and post
	}
		jsr223 post processor
		{
			extracting data from above http responce and saving it to a file
		}
	
Thread group2:
	csv data configure
	{
		reads data from csv file
	}
	http request (Perform GET operation on rest api) (lets call it GET request)
	{
		eg:
		GET ip:port/searchParameter=value
	}
	

Теперь проблема заключается в том, как запускать группу потоков 2 каждый раз, когда итерация http-запроса группы потоков1 завершается, и переходить к итерации 2, не дожидаясь завершения группы потоков 2.

eg:
POST request -> file1.json  completion should trigger GET request
As the GET request continues to execute
POST request -> file2.json should be excuted concurrently 

CAN I DO THIS?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Я бы порекомендовал удалить промежуточный этап сохранения данных ответов в файл и прочитать их во 2-й группе потоков, вы можете достичь того же в пределах одной группы потоков, используя JSON Extractor и Переменные JMeter - этот подход будет намного быстрее, поскольку операции в оперативной памяти очень быстры по сравнению с операциями ввода-вывода на диске, и вам не придется беспокоиться о синхронизации групп потоков.


Однако, если вы хотите сохранить все как есть, вы можете рассмотреть возможность использования плагина Inter-Thread Communication , который можно использовать для синхронизации различных групп потоков на основе простого FIFO очередь, поэтому 2-я группа потоков запустится, когда получит сигнал от первой группы потоков.

Ознакомьтесь с Как использовать плагин Inter-Thread Communication в статье JMeter для получения дополнительной информации, если это необходимо.

Вы можете установить плагин Inter-Thread Communication, используя JMeter Plugins Manager

enter image description here

0 голосов
/ 07 ноября 2018

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

Поток 2 проверяет состояние из Потка 1. В случае успеха запустите http запрос

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