Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Запити до БД через jmeter та робота з отриманими даними

jdbc
jmeter
postgres
Теги: #<Tag:0x00007f7b62d2b2e0> #<Tag:0x00007f7b62d2b1a0> #<Tag:0x00007f7b62d2b010>

(Grosha) #1
  1. Чи можна зробити запит до #database , отриманні дані записати в якусь змінну, і потім використати цю змінну в іншому запиті?
  2. Чи можна в #jdbc Request при написанні запиту використовувати змінні з файлу?
    Наприклад:
SELECT id
  FROM orders
  where user_id = ${userId}
  order by id desc
  limit 1

(Grosha) #2

Так що, немає нікого, хто б користувався JDBC Request в jmeter?
Є багато статей, де описується, що отриманні дані можна зберігати в змінну, але як потім їх використувува - немає.
Я роблю запит до БД, отримую число, записую його в зміну під назвою id

Далі мені потрібно використати ці дані в запиті. Підставляю цю змінну в BODY запиту.

Теоретично все повино працювати але “щось йде не так”. Замість того, щоб підставити дані в BODY, воно відправляється з назвою змінної:

Може якось я не так зберігаю дані? Якщо маєте якусь інформацію, пишіть. Буду вдячний.


(Павел) #3

Привіт. В офіційній документації ясно сказано, як потрібно використовувати змініні з JDBC Request. Замість ${id} вам потрібно вживати ${id_#}, де # це номер рядка з респонсу (як я розумію, у вашому випадку це завжди буде ${id_1})


(Grosha) #4

ООоо дякую! Тепер зрозумів, що це вони мали на увазі A_#

Можливо ще підскажеш з другим пунктом? Потрібно в запит передавити guid, який буде записаний в змінні. Роблю, як в документації:

Parameter value ${guid}
Parameter types VARCHAR

Під час запиту данні не підтягує.


(Павел) #5

Щоб передавати параметри таким чином, потрібно обрати Query Type = [Prepared … Statement], наприклад Prepared Select Statement. Якщо обрано звичайний Select Statement, то це працювати не буде, але змінну можна передавати і прямо в квері:

WHERE users.guid = ${my_variable}