Как загрузить тестирование полного логического потока, используя jmeter? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть три API:

  1. Создать пользователя (возвращает userId в теле ответа)
  2. Добавить фотографию, соответствующую пользователю, созданному на шаге 1 (принимает userId в теле запроса - то же самое) как получено в ответе на первое тело)
  3. Опросить API, чтобы проверить, выполнено ли обновление фотографии пользователя (принимает userId в теле запроса - то же, что получено в ответе на первое тело)

Запуск этих трех API составляет один логический поток приложения. Я хочу запустить и сравнить этот «набор» из трех API. В связи с этим у меня возникают следующие проблемы:

Как мне решить, нужно ли иметь три разные группы потоков для запуска этих 3-х API или достаточно одной группы потоков?

Что следует использовать для извлечения 'userID' из первого ответа API и использовать его в качестве входных данных для второго запроса.

Как реализовать механизм опроса, необходимый для третьего API?

Если я скажу, что 5 пользователей нажимают на request1, а затем те же 5 пользователей нажимают на запрос 2, как я могу установить sh отображение между запросами, чтобы user1 по первому API отображался во второй API?

1 Ответ

1 голос
/ 14 апреля 2020
  1. How should I decide whether to have three different thread groups to run these 3 APIs or a single thread group should suffice ? - я бы go для одной группы потоков , поскольку она предполагает действия одного виртуального пользователя (или группы виртуальных пользователей)

  2. What should be used to extract 'userID' from first API response and use it as an input to second request. - в зависимости от типа ответа, JSON Extractor для JSON, XPath Extractor для XML

  3. How can I implement polling mechanism as needed in third API ? - с использованием в то время как контроллер

  4. If I have say 5 users hitting request1 and then the same 5 users hitting request 2, how can I establish mapping between requests so that user1 by first API gets mapped to second API ? - вам не нужно ничего делать, каждый поток JMeter (виртуальный user) выполняет samplers вверх ногами, и все переменные, подобные контексту, локальны для этого пользователя (нить)

...