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

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

Створення SoapUI Проект, набір тестів та тестовий випадок дозволяють структуроване тестування веб-сервісів SOAP. У цьому посібнику пояснюються основи протоколу SOAP, імпорт WSDL, виконання запитів, налаштування тверджень та аналіз журналу відповідей для надійного функціонального та регресійного тестування.

  • 🧠 SOAP Foundation: SOAP — це протокол на основі XML, незалежний від платформи, що передається через HTTP та обмінюється повідомленнями між різними системами.
  • 📁 Створення проекту: Імпортуйте WSDL у новий SoapUI SOAP-проект для автоматичної генерації зразків запитів для кожної операції.
  • 🗂️ Налаштування тестового набору: Клацніть правою кнопкою миші на кореневому каталозі проекту, щоб додати набір тестів, який групує пов'язані тестові випадки для організованого виконання.
  • 🧪 Кроки тестового випадку: Додайте кроки запиту SOAP, виберіть цільову операцію та налаштуйте стандартні твердження, такі як перевірки відповідності схеми та SOAP Fault.
  • 📊 Перевірка відповіді: Використовуйте вкладку RAW та панелі журналів (SoapUI Журнал, журнал HTTP, журнал помилок, журнал пам'яті) для перевірки кодів стану HTTP та усунення несправностей запитів.

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

Розуміння протоколу SOAP

Перед створенням a SoapUI Тестовий випадок, корисно повторити основи протоколу SOAP. Чітке розуміння того, як запити та відповіді SOAP передаються між системами, полегшує його використання. SoapUI для їх ефективного тестування.

SOAP означає Простий протокол доступу до об'єктівНижче наведено основні властивості протоколу SOAP:

  • Це протокол на основі XML, який використовується для зв'язку між двома різними системами.
  • Це не залежить від платформи та мови. Система, розроблена з використанням Java може спілкуватися з тим, хто розроблений у .NET.
  • SOAP-запити та відповіді передаються через HTTP.

Вивчіть формат повідомлень SOAP

SOAP-повідомлення — це звичайний XML-документ, що містить такі елементи. Повідомлення може бути як запитом, так і відповіддю.

ФОРМАТ повідомлення SOAP
Формат SOAP-повідомлення

Після того, як основи SOAP встановлені, наступним кроком є ​​створення SoapUI структура проекту, набори тестів та тестові випадки, необхідні для перевірки певного веб-сервісу. У наведеному нижче покроковому посібнику використовується SoapUI приклад проекту для створення нового SOAP-проекту.

Створення SOAP-проекту в SoapUI

Проект SOAP містить імпортоване визначення WSDL разом з усіма згенерованими зразками запитів для кожної операції.

Крок 1: Залежно від типу проекту імпортуйте протокол SOAP або REST. У цьому прикладі створіть новий проект SOAP.

Створення нового проекту SOAP

Крок 2: Використайте наступний SOAP-запит URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Введіть назву проекту.
  2. Введіть шлях до WSDL-запиту (у цьому випадку http://www.dneonline.com/calculator.asmx?wsdl).
  3. Натисніть OK.

Введіть назву проекту SOAP та шлях WSDL

Примітка:

  • Створити зразок запиту для всіх операцій: Генерує зразок запиту для кожної операції в WSDL. Увімкнено за замовчуванням, коли введено адресу WSDL; може бути знято, якщо не потрібно.
  • Створіть набір тестів для імпортованого WSDL: Додає а SoapUI Набір тестів у проєкті для імпортованого WSDL.
  • Відносні шляхи: Зберігає всі файли, пов'язані з файлом проекту, для зручності перенесення.

Крок 3: Після створення SOAP-проекту з вищезазначеним WSDL, у проєкт буде імпортовано дві операції.

Імпортований проект SOAP Operaвих

Крок 4: Розгорніть перший запит, клацніть правою кнопкою миші додавати, потім натисніть кнопку Новий запит.

Додати новий запит до проекту SOAP

Потім натисніть OKSOAP-запит відображається у форматі XML.

Формат XML-запиту SOAP

  1. Введіть значення для інтА та intB.
  2. Натисніть Надіслати .
  3. XML-файл відповіді відображається в правій області.

Надіслати запит SOAP та переглянути відповідь

Навіщо створювати тестові випадки замість прямих запитів?

Можна надіслати запит на одну операцію безпосередньо, але такий підхід швидко наражається на обмеження, коли потрібно перевірити кілька комбінацій вхідних даних. Наприклад, перемикання з 5+5 на 4+4 вимагає редагування запиту кожного разу. Набір тестів з тестовими випадками дозволяє зберігати кожен сценарій повторно використовуваним без зміни оригінальної операції.

Як створити набір тестів у SoapUI

Набір тестів – це контейнер, який групує пов’язані тестові випадки. Виконайте наведені нижче кроки, щоб створити його.

Крок 1) Клацніть правою кнопкою миші на кореневому каталозі проекту.

У межах проекту створіть набір тестів, клацнувши правою кнопкою миші на кореневому каталозі проекту.

Створити набір тестів у SoapUI - Проект з правою кнопкою миші

Крок 2) Введіть дані набору тестів.

Введіть назву набору тестів і натисніть OK.

Введіть назву набору тестів

Крок 3) Перевірте створений набір тестів.

Новий набір тестів відображається в області навігації, як показано нижче.

Перевірити створений набір тестів

Крок 4) Відкрийте набір тестів.

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

Відкрити порожнє вікно набору тестів

Як створити тестовий випадок у SoapUI

Тестові випадки знаходяться всередині набору тестів та групують окремі кроки тестування, які запускають веб-сервіс.

Крок 1: У наборі тестів створіть кілька тестів, клацнувши правою кнопкою миші на наборі тестів і вибравши Новий тестовий випадок.

Створити новий тестовий випадок у SoapUI

Крок 2: Вкажіть назву Тестовий випадок і натисніть кнопку OK.

Введіть назву тестового випадку

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

Тестовий випадок з нульовим кроком

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

Кроки функціонального тестування належать до Етапи тестування, кроки продуктивності входять до Тест навантаження, а перевірки безпеки проводяться під Тести безпеки.

Крок 4: Вставте різні типи кроків тестування, клацнувши правою кнопкою миші Етапи тестування та вибір відповідного параметра. Для веб-сервісу REST виберіть REST Test Request замість SOAP request.

Вставка типів кроків тестування

Додавання кроку тестування в SoapUI

Додайте крок тестування для перевірки імпортованого SOAP-запиту всередині тестового випадку.

Крок 1: Додати новий крок типу Запит SOAP як показано нижче.

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

Крок 2: Введіть назву кроку та натисніть OK.

Введіть назву кроку тесту

Крок 3: З’явиться діалогове вікно для вибору операції, яку потрібно виконати. Для вибору буде перераховано всі доступні операції.

  • Тут відображається багато операцій. Операції ідентичні, за винятком версії SOAP: CalculatorSoap використовує SOAP версії 1.1, тоді як CalculatorSoap12 використовує SOAP версії 1.2.
  • Версія в цьому випадку не має значення, тому можна вибрати будь-яку з них.

    Виберіть SOAP Operaція для виклику

  • Після вибору операції натисніть кнопку OK.

    підтвердити OperaВибір

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

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

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

  1. Перевіряє, чи є повідомлення відповіді SOAP після запуску тесту.
  2. Перевіряє, чи схема відповіді є дійсною.
  3. Перевіряє, чи містить відповідь SOAP елемент FAULT.

Крок 5: Після створення тестового випадку XML-запит виглядає, як показано нижче. Структура XML-запиту пояснюється на знімку екрана.

Структура XML-запиту

Крок 6: Кількість кроків тестування тепер збільшується до одиниці, оскільки додано один крок. Додавання кроків тестування навантаження та тестування безпеки автоматично збільшить їхні відповідні лічильники.

Збільшення лічильника кроків тесту

Надсилання запиту вручну та читання відповіді в SoapUI

Крок 1: У наведеному нижче прикладі додавання двох цілих чисел.

  • інтА — 5
  • інтБ — 5

далі:

  1. Введіть ці дані замість знаків питання в XML-запиті.
  2. Після оновлення відповідних тегів XML натисніть кнопку Надіслати запит щоб перевірити відповідь.

Ручне надсилання запиту за допомогою intA та intB

Крок 2: Після надсилання запиту веб-сервіс обробляється веб-сервером і повертає відповідь, як показано нижче.

Відповідь підтверджує, що 5 плюс 5 дорівнює 10.

Відповідь SOAP показує результат додавання

Розуміння панелей відповідей та журналів SOAP

Як зазначалося раніше, повідомлення SOAP передаються через HTTP. Перевірка повідомлень RAW допомагає з'ясувати, як запит та відповідь SOAP передаються через HTTP.

Крок 1: Натисніть RAW Вкладка в SoapUI вікно запиту.

  1. Запит надсилається на веб-сервер, тому використовується метод HTTP POST.
  2. SOAP-запит передається в тілі HTTP-повідомлення.

Вкладка RAW-запиту SOAP

Крок 2: Тепер натисніть на RAW Вкладка в SoapUI вікно відповіді, щоб зрозуміти, як відповідь доставляється через HTTP.

  1. Після обробки запиту відображається код відповіді HTTP (200), що свідчить про успіх.
  2. Відповідь SOAP повертається клієнту всередині тіла HTTP-повідомлення.

Вкладка RAW відповіді SOAP з HTTP 200

У таблиці нижче наведено поширені коди відповідей HTTP для швидкого налагодження.

HTTP Code Опис
1xx Інформаційно: Запит отримано, обробка триває.
2xx Успіх: Дію успішно отримано, зрозуміло та прийнято.
3xx Перенаправлення: Для виконання запиту потрібні подальші дії.
4xx Помилка клієнта: Запит містить неправильний синтаксис або не може бути виконаний.
5xx Помилка сервера: Серверу не вдалося виконати, здавалося б, дійсний запит.

Крок 3: У вікні тестового випадку також відображаються додаткові метадані для запиту та відповіді.

Метадані вікна тестового випадку

  1. Вказує на ВІДСУТНІСТЬ заголовка в запиті, що надсилається.
  2. Вказує на ВІДСУТНІСТЬ вкладень у запиті, що надсилається на веб-сервер.
  3. Вказує на 10 елементів заголовка у відповіді, які можна переглянути після натискання.
  4. Вказує на відсутність вкладень у повідомленні-відповіді.

Панель журналів

Панель журналів відображає повну інформацію, якою обмінюються клієнт і сервер. Найчастіше використовувані вкладки журналів описані нижче.

SoapUI Вкладки панелі журналів

SoapUI Журнал: Відображає інформацію про відповідь від веб-сервера. Ті ж дані зберігаються у файлі soapui.log всередині SoapUI каталог bin.

SoapUI Вкладка журналу

Журнал HTTP: Відображає всі передачі HTTP-пакетів. Уся інформація, видима у вигляді RAW, також записується в журнал HTTP.

Вкладка журналу HTTP

Журнал помилок: Відображає всі помилки, що виникли протягом усього сеансу проекту. Така ж інформація зберігається у soapui-errors.log всередині SoapUI каталог bin.

Журнал пам'яті: Відстежує споживання пам'яті та відображає його у вигляді діаграми. Це корисно під час виконання операцій, що ресурсомістко використовують пам'ять.

Вкладка журналу пам'яті

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

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

Набір тестів – це контейнер, який групує пов'язані тестові випадки всередині SoapUI Проект. Тестовий випадок – це окремий сценарій, який містить один або декілька кроків тестування, таких як запит SOAP, запит REST або твердження.

Так. SoapUI підтримує тестування як SOAP, так і REST. Під час створення нового проекту виберіть «Новий проект SOAP» для сервісів на основі WSDL або «Новий проект REST» для REST API. Кроки тестування включають REST-тестовий запит, JDBC-запит та Groovy Сценарій.

Відкрийте набір тестів і натисніть зелену кнопку відтворення. SoapUI запускає всі тестові випадки в порядку їх появи. Ви також можете налаштувати паралельне або послідовне виконання на вкладці «Властивості набору тестів».

Так. Використайте крок «Властивості», крок «Передача властивостей» або крок «Джерело даних» (SoapUI Pro) для обробки кількох вхідних даних через один тестовий випадок. Це корисно для тестування на основі даних з багатьма комбінаціями вхідних даних.

Асистенти штучного інтелекту можуть читати специфікацію WSDL або OpenAPI та пропонувати реалістичні комбінації вхідних даних, граничні випадки та шаблони тверджень. Ці пропозиції можна експортувати як SoapUI XML або Groovy скрипти, що зменшує ручну роботу під час створення великих наборів тестів.

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

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