Твердження в SoapUIСкрипти, XQuery, типи XPath

⚡ Розумний підсумок

Твердження в SoapUI – це контрольні точки, які вирішують, чи є відповідь веб-сервісу правильною, перетворюючи запит, який просто виконується, на тест, який фактично проходить або не проходить на реальному, перевіреному контенті.

  • 🔘 Categories: Вміст властивості, відповідність/статус/стандарти, скрипт, SLA, JMS та безпека.
  • ☑️ містить: Підтверджує існування рядка у відповіді, з підтримкою регулярних виразів.
  • Не містить: Підтверджує відсутність рядка, корисно для токенів помилок та витоків полів.
  • 🧪 Збіг XPath: Спочатку оголосіть простір імен, потім виберіть один вузол та порівняйте його значення.
  • 🛠️ Збіг XQuery: Перевіряє повторювані набори вузлів, які в іншому випадку потребували б сотень перевірок XPath.
  • 📊 Сценарій: Groovy Твердження обробляють динамічні відповіді та логіку налаштування або демонтажу.
  • 🔍 Вирішення проблем: Неправильний простір імен та синтаксис крапки замість двокрапки спричиняють більшість збоїв.

Твердження в SoapUI

Що таке твердження?

Твердження означає акт ствердження або ствердження чогось. Його також можна інтерпретувати як контрольну точку або точку перевірки.

Після надсилання запиту на веб-сервер отримується відповідь. Нам потрібно перевірити, чи містить відповідь очікувані дані. Для перевірки відповіді нам потрібно використовувати твердження. Без твердження крок тестування лише доводить, що сервіс відповів, а не те, що він відповів правильно, тому кожен Тест API повинен мати при собі хоча б один.

Типи тверджень

Існує кілька способів стверджувати відповідь; проте ми зосередимося на найпоширеніших SoapUI типи тверджень під час перевірки відповіді. Нижче наведено категорії, доступні у версії з відкритим кодом SoapUI.

  1. Вміст власності
  2. Стандарт статусу відповідності
  3. Script
  4. SLA
  5. J.M.S.
  6. Безпека

Діалогове вікно групує кожне твердження за цими категоріями, як показано на скріншоті нижче.

Категорії тверджень, перелічені в SoapUI Діалогове вікно додавання твердження
Типи тверджень у SoapUI

Окрім перелічених вище, Pro-версія також має вбудоване JDBC-твердження, за допомогою якого ми можемо перевірити, чи веб-сервіс оновив базу даних правильно.

Примітка до версії: ток SoapUI документація також містить перелік JDBC категорію (Стан JDBC та Час очікування JDBC) поряд із категоріями вище, а також Вміст повідомлення твердження всередині вмісту властивостей для більш повного порівняння XML. Комерційна версія, яку тут називають «Pro», тепер продається як ReadyAPI від SmartBear, тому підписи меню в новіших збірках можуть читатися по-різному, тоді як поведінка тверджень залишається незмінною.

Містить твердження

Шукає існування вказаного рядка. Він також підтримує регулярні вирази.

Ми продовжимо той самий приклад із попереднього підручника із запитом WSDL http://www.dneonline.com/calculator.asmxЯкщо ви ще не реалізували цей проєкт, попрацюйте над ним створення проєкту, набору тестів та тестового випадку перший.

Крок 1: За замовчуванням немає тверджень.

  1. Кількість тверджень показано на вкладці Твердження.
  2. Щоб додати нове твердження, натисніть кнопку «Додати нове твердження».

SoapUI Вкладка «Твердження» без тверджень та кнопка «Додати нове твердження»

Крок 2: Зараз,

  1. Виберіть категорію твердження.
  2. Виберіть тип твердження.
  3. Натисніть "Додати"

Додати діалогове вікно твердження з вибраною категорією та типом твердження

Крок 3: Перевіримо, чи рядок «46» існує у відповіді. Натисніть «ОК».

Примітка. Ми також можемо ігнорувати регістр і додати регулярний вираз.

Містить діалогове вікно налаштування твердження з введеним значенням 46

Крок 4: Після додавання негайно виконується твердження, яке показує, чи є воно ДІЙСНИМ (VALID) чи НЕДІЙСНИМ (INVALID).

Вкладка «Твердження», на якій твердження «Містить» має значення VALID (ДІЙСНЕ)

Крок 5: Тепер припустимо, що ми змінили вміст «Містить твердження» в SoapUI' до '47' і подивіться, що станеться.

Редагування вмісту твердження Contains з 46 до 47

Крок 6: Твердження виконується, і результат передається користувачеві. Оскільки у відповіді немає рядка '47', твердження не вдалося.

Вкладка «Твердження» повідомляє про невдале твердження «Містить»

Не містить твердження

Його аналог працює навпаки. Шукає неіснування зазначеного рядка. Він також підтримує регулярні вирази.

Крок 1: Тепер, після натискання кнопки «додати нові твердження»,

  1. Виберіть категорію твердження.
  2. Виберіть тип твердження – у цьому випадку "НЕ містить"
  3. Натисніть "Додати"

Додати діалогове вікно твердження з вибраним параметром «НЕ містить»

Крок 2: Перевіримо, чи існує рядок 'intA' у відповіді. Введіть рядок 'FromCurrency' та натисніть 'OK'.

Діалогове вікно «Не містить твердження» з введеним рядком FromCurrency

Крок 3: Щойно додається твердження, воно виконується та відображає результат. Досі ми додали два твердження, отже обидва твердження виконуються та відображають результат.

Вкладка «Твердження» зі списком результатів «Містить» та «Не містить»

Крок 4: Тепер змінимо вміст твердження «Not Contains Assertion» і подивимося, що станеться. Ми перевіримо відсутність рядка «AddResult».

Діалогове вікно твердження "Не містить" перевіряє наявність токена AddResult

Крок 5: Рядок «AddResult» насправді присутній у відповіді, тому твердження «NOT Contains» не спрацює, як показано нижче.

Твердження "Не містить" не вдалося виконати, оскільки присутній AddResult

Затвердження відповідності XPath

Зіставлення рядків є прямолінійним, тому наступне твердження націлене на один вузол. Використовується вираз XPath для вибору цільового вузла та його значень. XPath, — це мова запитів XML для вибору вузлів з XML-документа.

Крок 1: Тепер, після натискання кнопки «Додати нові твердження»,

  1. Виберіть категорію твердження.
  2. Виберіть тип твердження – у цьому випадку "Збіг XPath"
  3. Натисніть "Додати"

Додати діалогове вікно твердження з вибраним параметром «Збіг XPath»

Крок 2: Відкриється вікно додавання XPath.

Перш ніж додавати SoapUI XPath, нам потрібно оголосити простір імен. Простір імен XML — це набір імен, ідентифікованих посиланням URI (уніфікований ідентифікатор ресурсу), які використовуються в XML-документах як імена елементів та атрибутів. Те саме використовується в SoapUI Твердження XPath.

Для оголошення простору імен XML нам просто потрібно натиснути кнопку «Оголосити», яка виконає роботу за нас, інакше ми можемо оголосити простір імен вручну самостійно.

Після оголошення простору імен нам потрібно звернутися до XPath, використовуючи створений простір імен.

Після натискання кнопки «Оголосити» з’являться два простори імен, оскільки у нас є два URI. Один з них — це схема. URL а інший відповідає фактичному веб-сервісу URLПід час посилання на XPath нам потрібно використовувати фактичний простір імен, де розташований веб-сервіс, а НЕ простір імен схеми. Оголошені рядки відображаються у верхній частині поля XPath, як показано нижче.

Оголошені простори імен SOAP та ns1 у вікні твердження XPath

оголосити простір імен soap='http://schemas.xmlsoap.org/soap/envelope/';

оголосити простір імен ns1='http://tempuri.org/';

Вікно твердження XPath одразу після натискання кнопки «Оголосити»

Крок 3: Тепер нам потрібно ввести XPath вузла XML, який нам потрібно перевірити.

//ns1:AddResult Дає нам значення вузла, укладеного між & і ns1 відповідає оголошеному простору імен, який вказує на 'http://tempuri.org/'

Після введення XML нам потрібно натиснути «Вибрати з поточного», щоб значення з поточної відповіді було вибрано для подальшого порівняння.

Вираз XPath введено з виділенням "Вибрати з поточного"

Крок 4: Поки що,

  1. Після оголошення просторів імен ми ввели XPath вузла XML, який нам потрібно перевірити.
  2. Нам потрібно натиснути «Вибрати з поточного», щоб зробити поточне значення очікуваним.
  3. Поточне значення відображається користувачеві, яке ми можемо змінити, якщо потрібно.
  4. Натисніть «Зберегти».

Конфігурація збігу XPath із очікуваним значенням та кнопкою «Зберегти»

Крок 5: Додане твердження в SoapUI буде відображатися, як показано нижче.

Вкладка «Твердження» з доданим твердженням XPath Match

Твердження сценаріїв

Ця техніка тверджень є найбільш широко використовуваною, оскільки надзвичайно важко керувати сотнями тверджень і підтримувати їх.

SoapUI використовує будь-який Groovy Сценарії або JavaScript для скриптових тверджень. Метод скриптового написання застосовується для розробкиping фреймворк для тестування SOAP. Твердження сценаріїв використовуються за таких обставин.

  • Скрипти дозволяють користувачеві виконувати деякі операції до та після виконання тестового випадку за допомогою методів set up та dealer відповідно. Set up – це процедура, яка виконується перед виконанням певного методу (наприклад, створення та ініціалізація об'єкта), тоді як dealer – це процедура, яка виконується після виконання методу (наприклад, знищення об'єктів та очищення). Ця функція недоступна в інших типах тверджень і може бути реалізована лише за допомогою кодування.
  • Це дозволяє користувачам виконувати відкриття/закриття проекту, щоб ініціалізувати або очистити налаштування, пов'язані з проектом, а також працювати зі змінними середовища, що дуже корисно під час написання сценаріїв.
  • Це допомагає нам затверджувати динамічний вміст відповіді.
  • Твердження сценаріїв використовуються для створення визначених користувачем тверджень, які НЕ є попередньо визначеними SoapUI.

Для демонстрації твердження Script у SoapUI, ми скористаємося калькулятором WSDL, тестовим випадком «Додати», який ми створили раніше.

Крок 1: Кроки для додавання groovy-скрипту такі ж, як і для інших тверджень, за винятком того, що твердження не є попередньо визначеним. Натомість це користувацьке твердження, яке пропонує більшу гнучкість, ніж вбудовані.

Виберіть крок перевірки, щодо якого потрібно додати твердження.

Крок тестування, вибраний у SoapUI навігатор перед додаванням твердження

Натисніть кнопку «Додати твердження», як показано нижче.

Додати кнопку «Твердження» на панелі інструментів тверджень кроку тестування

Крок 2: Тепер виберіть категорію «Твердження».

  1. У цьому випадку це сценарій.
  2. Виберіть SoapUI Твердження скрипту та жодних пов'язаних з ним підтипів.
  3. Натисніть «Додати».

Додати діалогове вікно твердження з вибраною категорією «Скрипт»

Крок 3: Відкриється діалогове вікно створення сценаріїв, де користувач зможе написати користувацький сценарій для перевірки XML-відповіді.

порожній SoapUI діалогове вікно редактора тверджень скрипта

Крок 4: Тепер давайте напишемо класний скрипт для перевірки коефіцієнта конверсії. Скрипт із вбудованими коментарями додається нижче. Рекомендується мати знання про Java Сценарій або Groovy Сценарій, перш ніж намагатися написати власний сценарій.

//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"

//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")

//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult

//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
  1. Натисніть кнопку «Виконати», щоб запустити виконання.
  2. Вихідні дані сценарію відображаються на панелі «Вивід». Він надрукував як значення конверсії, так і кінцевий результат (пройшов або не пройшов)
  3. Відображається інформація про те, що «Затвердження сценарію пройдено». Натисніть OK.

Примітка. Спливаюче вікно остаточної інформації завжди відображатиметься з повідомленням «Затвердження сценарію прийнято», якщо сценарій синтаксично правильний. Це не має жодної кореляції з вашим твердженням у сценарії.

Панель виводу скриптових тверджень, що друкує значення результату та Pass

натисніть OK

Крок 5: Тепер вкладка «Асертименти» відображає всі додані нами для цього набору тестів твердження разом зі статусом кожного з них.

Вкладка «Твердження» зі списком усіх тверджень, доданих до набору тестів

Крок 6: зараз

  1. Виберіть набір тестів у дереві навігатора
  2. Натисніть кнопку «Виконати».
  3. Результати відображатимуться для всього набору тестів.

Результати запуску набору тестів після виконання всіх тверджень

Твердження про збіг XQuery

Він використовує вираз XQuery для вибору вмісту з цільової властивості. Нам потрібен набагато більший XML-файл відповіді, щоб краще зрозуміти твердження XQuery в SoapUIІмпортуємо ще один WSDL, як показано нижче: http://www.webservicex.net/medicareSupplier.asmx?WSDL

Примітка: Публічні демонстраційні кінцеві точки webservicex.net, що використовуються в цьому покроковому посібнику, більше не є надійно досяжними, тому наведені нижче скріншоти запитів і відповідей зберігаються як довідковий приклад. Будь-який WSDL, який повертає повторюваний набір вузлів, виконає твердження XQuery точно так само.

Крок 1: Клацніть правою кнопкою миші на існуючому проекті та виберіть «Додати WSDL».

Контекстне меню правою кнопкою миші на SoapUI проект, що показує Додавання WSDL

Крок 2: Відкриється діалогове вікно «Додати WSDL». Залиште інші параметри за замовчуванням і натисніть кнопку «OK».

Додати діалогове вікно WSDL зі стандартними параметрами імпорту

Крок 3: Усі операції перелічені, як показано нижче.

Операції WSDL постачальника Medicare, перелічені в дереві навігатора

Крок 4: Тепер додамо Тестовий випадок в тому самому наборі тестів, для якого ми створили Тестування конвертер валют.

Новий варіант TestCase для існуючого набору тестів

Крок 5: Введіть назву тестового випадку та натисніть кнопку «ОК»

Введення назви тестового випадку в діалоговому вікні «Новий тестовий випадок»

Крок 6: Тестовий випадок створюється, як показано нижче.

Новостворений тестовий випадок у SoapUI дерево навігатора

Крок 7: Додайте новий крок тестування типу «Запит на тестування SOAP», як показано нижче.

Додати меню кроку з вибраним запитом на тестування SOAP

Крок 8: Введіть назву кроку тестування. Скажімо, Supplier_by_City, що було б більш зрозуміло. Натисніть «OK».

Найменування нового кроку тестування Supplier_by_City

Крок 9: виберіть Operaте, що ми хотіли б перевірити. У цьому випадку це «MedicareSupplierSoap -> GetSupplierByCity». Натисніть «OK».

Вибір операції GetSupplierByCity для кроку тестування

Крок 10: Введіть назву тестового випадку та натисніть кнопку «ОК».

Підтвердження назви запиту на тестування SOAP

Крок 11: Структура запиту XML буде відображена, як показано нижче.

Згенерований XML-структурний план запиту GetSupplierByCity

Крок 12: Тепер давайте знайдемо всю інформацію про постачальників для міста «Нью-Йорк».

Для цього додайте наступні рядки до свого коду.

<GetSupplierByCity xmlns="http://www.webservicex.net/">

<City>New York</City>

</GetSupplierByCity>

WSDL нижче URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

XML-запит, відредагований з Нью-Йорком як значенням міста

Крок 13: Після виконання тесту ми отримуємо наведену нижче відповідь

Відповідь GetSupplierByCity, що містить повторювані записи постачальників

Крок 14: Припустимо, нам потрібно перевірити всі номери постачальників. Ми не можемо використовувати XPath Assertion, оскільки нам потрібні сотні XPath Assertion. Тому використання XQuery в цьому випадку неминуче.

XQuery Assertion допомагає нам перевірити групу відповідей XML, які повторюються за своєю природою.

Повторювані вузли SupplierData, які XQuery перебиратиме

Крок 15: Тепер натисніть кнопку «Додати твердження».

  1. Виберіть «Категорію твердження» – у цьому випадку вміст властивості.
  2. Виберіть тип твердження як "твердження XQuery"
  3. Натисніть «Додати».

Твердження XQuery, вибране в категорії «Вміст властивості»

Крок 16: Подібно до XPath Assertion, нам потрібно оголосити простір імен.

  1. Натисніть кнопку «Оголосити», щоб автоматично дозволити SoapUI щоб оголосити простір імен. Після натискання кнопки «Оголосити» користувачеві буде відображено спливаюче вікно з повідомленням «Оголосити простір імен зі схеми замість цього». Натисніть «Так», щоб продовжити, як показано нижче.
  2. Щоб отримати всі номери постачальників, нам потрібно написати запит XPath, і ми розмістимо його в < SupplierNumber> і Теги.
  3. Натисніть «Вибрати з поточного», який буде виконано з поточної відповіді.
  4. Після натискання кнопки «Вибрати з поточних» буде відображено список усіх номерів постачальників.
  5. Натисніть «Зберегти».

Оголосити простір імен зі спливаючого вікна підтвердження схеми

Примітка: Після натискання кнопки «Оголосити» ви можете отримати різні URLОднак, для кодування буде враховано фактичний простір імен розташування веб-сервісу.

Готовий вираз XQuery з оголошеннями простору імен виглядає ось так.

// Namespace declaration
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webservicex.net/';
declare namespace x = '';

// Placing the result in Myresult Tags

{
// Iterating through all the supplier number
for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData

//Return all the Supplier number within ‘SupplierNumber’ Tags.
return {data($x/ns1:SupplierNumber)}
}

Вікно виразів XQuery, що містить список усіх номерів постачальників

Крок 17: Виконується твердження XQuery, кінцевий результат відображається на панелі «Твердження», як показано нижче. Тепер ми успішно додали твердження XQuery, за допомогою якого перевірили всю інформацію про номер постачальника. Ці дані порівнюватимуться з фактичними щоразу, коли запит надсилатиметься на вебсервер.

Примітка. Фактичні значення не відображатимуться. Якщо всі фактичні значення збігаються з очікуваними значеннями, тоді відображається VALID, інакше буде відображено «Failed».

Панель тверджень, що показує результат твердження XQuery

Коли використовувати вбудоване твердження?

З огляду на те, що розглянуто як варіанти «вкажи та клацни», так і сценарні, практичне питання полягає в тому, який з них обрати.

  • Коли відповідь коротка, її можна перевірити за допомогою одного з цих вбудованих тверджень.
  • Ми також можемо використовувати Inbuilt Assertion, якщо відповідь, надіслана з веб-сервера, завжди є статичною за своєю природою. Якщо він динамічний, ми не зможемо стверджувати його за допомогою вбудованих тверджень.
  • Коли використання вбудованих тверджень, таких як твердження Time-out і твердження безпеки, стає неминучим.
  • Вбудовані твердження досить добре підходять для одноразового використання, коли тести не потрібно повторювати.

Параметри тверджень

Створені твердження можна найкраще контролювати за допомогою панелі керування, яка виділена нижче.

Панель керування інструментами тверджень у SoapUI

Створені твердження дозволяють тестувальникам налаштовувати наступні речі з панелі інструментів твердження.

варіант Опис
Перемістити значок твердження вгору Вибране твердження переміщується вгору.
Перемістити значок твердження вниз Вибране твердження переміщається вниз.
Видалити значок твердження Вилучає вибране твердження
Налаштувати або редагувати значок твердження Повторно налаштувати/відредагувати вибране твердження.

Нижче наведено функції, доступні виключно у Pro-версії SoapUI, тепер постачається як ReadyAPIПрофесійна версія також допомагає нам групувати твердження, щоб ми могли додати ще один рівень перевірки до створених тверджень.

  • І: Усі твердження оцінюються як ДІЙСНІ, що призведе до групової умови PASSED.
  • АБО: Принаймні одне з тверджень у групі має бути ДІЙСНИМ, щоб стверджувалася умова групи PASSED.
  • Pro версія також дозволяє Клонування твердженьЦя опція дозволяє тестувальникам копіювати твердження на інший крок тестування в тому ж або іншому проєкті.
  • Вимкнути/Увімкнути твердження: Цей параметр дозволяє вимикати або вмикати будь-яке згруповане або незгруповане твердження. Якщо твердження вимкнено, воно неактивне, і під час виконання тестового випадку вимкнені твердження не виконуватимуться.
  • Розгрупування тверджень: Будь-які згруповані твердження можна розгрупувати, якщо тестувальники вирішать це зробити.

Повний список методів, доступних у різних типах тверджень

У таблиці нижче зібрано всі твердження, обговорені вище, згруповані за категорією, в якій вони відображаються в діалоговому вікні «Додати твердження».

Механізм ствердження Опис
МАЙНОВИЙ ЗМІСТ
Містить Шукає існування вказаного рядка. Він також підтримує регулярні вирази.
Не містить Шукає Неіснування зазначеного рядка. Він також підтримує регулярні вирази.
Збіг XPath Використовує вираз XPath для вибору цільового вузла та його значень.
Збіг XQuery Використовує вираз XQuery для вибору вмісту з цільової властивості.
Відповідність, статус, стандарти
HTTP Завантажити весь ресурс Перевіряє HTML-документ після завантаження та підтримує будь-яку властивість, що містить HTML.
Недійсний HTTP-статус Codes Перевіряє, чи містить відповідь HTML код стану, якого немає у списку визначених кодів.
Не помилка SOAP Перевіряє, чи останнє отримане повідомлення не є помилкою SOAP. Цілком очевидно, що він застосовний лише для етапів тестування SOAP.
Відповідність схеми Перевіряє, чи останнє отримане повідомлення відповідає визначенню стандартної схеми WSDL або WADL. Добре підходить для етапів тестування SOAP і REST.
Помилка SOAP Перевіряє, чи останнє отримане повідомлення є помилкою SOAP. Це протилежність заявам про помилку «НЕ SOAP».
Відповідь SOAP Перевіряє, чи остання отримана відповідь є дійсною відповіддю SOAP і діє лише для кроків запиту на тестування SOAP.
Дійсний HTTP-статус Codes Перевіряє, чи містить HTML-відповідь код стану, який є у списку визначених кодів. Це інверсія до «Недійсний HTTP-статус». CodeТвердження.
Запит WS-адресації Перевіряє, чи останній отриманий запит містить відповідні заголовки WS-адресації.
Відповідь WS-адресації Перевіряє, чи містить остання отримана відповідь відповідні заголовки WS-адресації.
WS-Статус безпеки Перевіряє, чи останнє отримане повідомлення містить дійсні заголовки WS-Security, і діє лише для запитів SOAP.
Script
Твердження сценарію Дозволяє користувачам виконувати спеціальний сценарій для виконання визначених користувачем перевірок.
SLA
Відповідь SLA Перевіряє, чи час відповіді останньої отриманої відповіді був у межах визначеного ліміту.
J.M.S.
Статус JMS Перевіряє, чи запит JMS тестового кроку виконано успішно та чи придатний для тестових кроків із кінцевою точкою JMS.
Час очікування JMS Перевіряє, чи відповідь JMS на тестовий крок не тривала довше, ніж указана тривалість.
Безпека
Викриття конфіденційної інформації Перевіряє, чи повідомлення відповіді не розкриває конфіденційну інформацію про цільову систему. Ми можемо використовувати це твердження для етапів тестування REST, SOAP і HTTP.

ЗАВАНТАЖИТИ ПРОЕКТ SOAPUI, ЯКИЙ МІСТИТЬ ВИЩЕКАЗАННІ ТВЕРДЖЕННЯ

Поширені помилки та усунення несправностей

Більшість невдалих тверджень tracповертаємося до невеликої кількості помилок, тому перевірте їх, перш ніж переписувати вираз.

  • Використовуйте правильний простір імен. Простір імен має бути URL де розташований веб-сервіс.
  • Якщо під час розробки виникає помилкаping скриптове твердження, використовуйте 'log.info' для виведення вмісту змінних.
  • Якщо ви не отримали потрібний вихід, перевірте, чи в запиті передано дійсний вхід.

Наприклад, у конвертері валют, якщо ввести «intA» як «x», що не є цілим числом, на виході буде виведено код помилки «SOAP-Client», що означає, що проблема пов'язана з параметром, який передається з боку клієнта. Запит, що містить недійсне значення, відображається першим.

SoapUI запит на передачу недійсного нецілочисельного значення для intA

Відповідь повертає код помилки замість результату, як показано нижче.

Код помилки SOAP-клієнта, повернутий у SoapUI редактор відповідей

Переконайтеся, що ви використовуєте правильний синтаксис під час використання тверджень XPath та XQuery. НЕ слід використовувати dot(.) замість cop(:) під час використання наведеного вище твердження. Синтаксис такий: //простір імен:Тег, а НЕ //простір імен.тег. Роблячи це, ви можете отримати повідомлення «НЕМАЄ збігу в поточній відповіді», навіть якщо ім'я тегу правильне.

Помилка НЕМАЄ збігу в поточній відповіді, спричинена неправильним синтаксисом XPath

Поширені запитання

Будь-яке число. SoapUI застосовує кожне твердження, пов'язане з кроком тестування семплера, після його виконання, і крок позначається як невдалий у поданні тестового випадку, якщо хоча б одне з цих тверджень не вдається.

Він порівнює XML-повідомлення з очікуваним документом вузол за вузлом, тому вибрані поля можна ігнорувати або вільно зіставляти, замість того, щоб розглядати все корисне навантаження як один простий рядок.

З відкритим вихідним кодом SoapUI охоплює контент властивостей, відповідність, скрипти, угоди про рівень обслуговування (SLA), JMS та безпеку. ReadyAPI додає груping, клонування, перевірки JDBC та ввімкнення або вимкнення керування.

Моделі штучного інтелекту зчитують зразок відповіді та пропонують вирази XPath або XQuery, граничні значення та позначають поля, які змінюються під час кожного запуску, що значно скорочує обсяг роботи з рукописним простором імен та виразами.

Так. Copilot автозаповнення GroovyШаблонні утиліти та XmlHolder. Завжди виконуйте скрипт першим, оскільки синтаксично коректний скрипт повідомляє про пройдене ствердження скрипта незалежно від вашого порівняння.

Так. Поля вмісту тверджень підтримують розширення властивостей, тому очікуване значення можна отримати з властивості проекту або тестового випадку, а не з літерала, що дозволяє використовувати одне твердження повторно в різних середовищах.

Невдале твердження позначає свій крок тестування як невдалий у поданні тестового випадку та записує відповідний запис FAILED з деталями невдачі в журнал виконання тесту внизу вікна.

Містить, Не містить, Збіг XPath, Збіг XQuery, Угода про рівень обслуговування (SLA) відповіді, Скрипт, дійсні та недійсні коди стану HTTP, Розкриття конфіденційної інформації та Відповідність схеми WADL або виведеній схемі.

Підсумуйте цей пост за допомогою: