Это мой первый пост, поэтому, пожалуйста, будьте нежны:)
В бесплатной версии SoapUI я хотел бы протестировать некоторые REST API по следующему простому сценарию:
ПОСТ, чем ПОЛУЧИТЬ проверить пост.
В моем наборе тестов у меня есть тестовый пример, который имеет следующие шаги:
1. пост;
2. передача имущества;
3. получить.
Ситуация усложняет то, что ответ POST не содержит никаких пар параметр-значение. Он возвращает json только со значением, которое фактически является идентификатором (это соответствует параметру taskId
).
На шаге передачи свойства я выбрал POST в качестве источника, Response в качестве свойства и XPath в качестве языка пути (при использовании jsonPath возвращается значение NULL).
В Target я выбрал Test Suite с propertyTest в качестве Property и XPath в качестве языка Path (здесь я получаю значение, если использую JSONPath).
Когда я запускаю передачу свойства, он возвращает правильно переданное значение.
Наконец, на моем последнем шаге - GET:
GET возвращает список, только если фильтр установлен, поэтому я дал соответствующий параметр и значение в методе GET при его создании (фильтр organizationId
). Этот метод возвращает json, у которого есть все taskId
s (с именем 'id' в этом списке) для соответствующего organizationId
(с именем ownerOrganizatioId
в этом списке).
На этапе тестирования я хочу сделать утверждение о том, что ответ с новым значением из POST фактически находится в найденном списке. Я пытаюсь сделать это, используя утверждение JsonPath Match.
Если я использую это выражение: $.[?(@.ownerOrganizationId==2)].id
оно фактически вернет все идентификаторы (taskId
s) из базы данных.
Все идет нормально. Но теперь я хотел бы заявить, что новое значение идентификатора фактически находится в этом списке.
Я знаю, что могу использовать это выражение {#TestSuite1#TaskTypeIdPropertyTransfer}
, чтобы использовать опубликованное значение, но я не знаю, что такое выражение assert, чтобы проверить, присутствует ли оно в списке?
Спасибо, что нашли время, чтобы прочитать и исследовать это, и, пожалуйста, дайте мне знать, если понадобится больше деталей.
С уважением,
Пол