Как добавить параметры в url-адрес как часть пути в запросе SOAP UI REST?
Я создаю тестовый случай для REST API в soapUI 4.5, где я собираюсь использовать контент с шага X, чтобы сделать новый вызов в шаге Y.
В идеале я бы создал запрос REST с некоторыми параметрами, скажем A и B, и сказал, что эти параметры должны использоваться в URL: http://myapi.com/v1/stuff/A/B
затем я бы сделал шаг передачи свойств и просто установил значения, извлеченные из шага X в A и B.
похоже, что soapUI только позволяет мне создайте параметры querystring, например: http://myapi.com/v1/stuff?ParamA=A&ParamB=B
это работает, конечно, но я хотел бы иметь возможность называть это в обоих направлениях, чтобы убедиться, что они оба работают.
Я что-то пропустила?
1 ответов
Я никоим образом не эксперт soapui, но только что проработал очень похожий сценарий, так что это может помочь вам.
Часть 1: Создание параматизированного ресурса
В моем сервисе у меня есть ресурс под названием stuff:
http://{host}/stuff
Я создаю дочерний ресурс со следующими значениями:
Resource Name: Get stuff by ID Resource Path/Endpoint: {stuffId}
и, прежде чем нажать ok, нажмите Extract Params - это заполнит таблицу параметров записью например:
Name | Default value | Style | Location stuffId | stuffId | TEMPLATE | RESOURCE
затем нажмите ok. Теперь у вас есть ресурс, который позволяет динамически предоставить код:
http://{host}/stuff/{id}
вам нужно будет повторить это, чтобы создать параметр B выше (или вы можете создать A и B как два параметра для одного ресурса, если вы никогда не вызываете /stuff/a Без также предоставления B).
Часть 2: создание тестового набора
Теперь в тестовом случае вам нужно получить a, передать свойство, а затем отправить запрос вышеуказанный ресурс, используя свойство:
- в тестовом случае, создайте запрос для получения ответа, содержащего
- щелкните правой кнопкой мыши testcase и добавьте шаг свойств. Добавить свойство для хранения значения А.
- в ответе в представлении контура щелкните правой кнопкой мыши значение A и выберите "перенести в > свойство", выберите только что созданное свойство и нажмите ok
-
создайте новый запрос, используя новый paramatized ресурс создан в первой части. Вместо идентификатора поместите ссылку на свойство, которое содержит значение A в этом формате:
${propertyName}
я, возможно, сделал что-то неправильно, но мой тест изначально терпит неудачу при передаче свойства с "отсутствующим исходным свойством". В источнике есть шаг PropertyTransfer, мне нужно было установить свойство ResponseAsXml
надеюсь, что это помогает!