Параметры в данных тела XML в HTTP-запросе (JMETER) - PullRequest
0 голосов
/ 07 апреля 2020

У меня проблема, и я не могу найти никакого решения ... Я на самом деле разрабатываю тест для веб-службы (назовем его WS)

Чтобы проверить это, у меня есть HTTP-запрос с данными тела в виде XML. Проблема в том, что в этом XML я хотел бы, чтобы некоторые атрибуты были переменными (или параметры, которые я мог бы изменить).

Например, вот файл XML:

    <measure>
        <time>2020-04-07T10:45:00</time>
        <value index="0">
            <value>
                <basicData xsi:type="DATA1">
                    <data1 data1number="10">
                        <numberd1>13</numberd1>
                    </data1>
                </basicData>
            </value>
        </value>
        <value index="0">
            <measuredValue>
                <basicData xsi:type="DATA2">
                    <data2 data2number="8">
                        <numberd2>22</numberd2>
                    </data2>
                </basicData>
            </value>
        </value>
    </measure>

Я хотел бы получить случайные значения или значения переменных для числа d1 и числа d2. Можно ли изменить некоторые атрибуты в данных тела XML HTTP-запроса в JMETER?

XML в данных тела будет шаблоном, который будет меняться в зависимости от различных параметров (число d1n число d2).

Спасибо за любой ответ.

Ответы [ 3 ]

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

Спасибо большое! Это очень полезно и отвечает на мой вопрос!

Но есть идеи для даты? Проблема в том, что я хочу, чтобы мой XML имел атрибут для изменения, и вот как я бы хотел, чтобы он работал:

  • Я выберу, например, время начала и время окончания t1 = 2020-04-07T10: 50: 00 и t2 = 2020-04-07T11: 00: 00.
  • Я выберу частоту, например freq = 2, что означает, что каждые 2 минуты, 1 HTTP Запрос будет отправлен.
  • Все основные данные будут заполнены соответствующим временем (Request1 с t1, Resquest2 с t1 + freq, Resquest3 с t1 + (2xfreq) ...)

И не забывая, что шаблон будет таким же, как и раньше ... Как вы думаете, это возможно?

Еще раз спасибо за ваш очень ценный ответ!

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

1 / Просто замените содержимое между тегами времени открытия и закрытия следующим образом:

  <time>${__time(yyyy-MM-dd'T'hh:mm:ss)}</time>

2 / добавьте действие управления потоком с длительностью, равной 120000 (2 мин), в дочернем элементе вашей группы потоков :

enter image description here

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

Конечно, вы можете, для случайных чисел c значений, вы можете заменить жестко запрограммированные числа функцией __ Random () , например:

<numberd1>${__Random(0,100,)}</numberd1>

и

<numberd2>${__Random(0,100,)}</numberd2>

таким образом, вы будете иметь случайное число от 0 до 99 включительно каждый раз, когда вызывается функция

enter image description here


Если вы хотите тесты на повторяемость другой вариант - предварительно сгенерировать пары numberd1 и numberd2, сохранить их в файле CSV и использовать Config Набор данных CSV для подачи запроса с значения из файла CSV.

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