understanding assertions soapui soapui tutorial 5
Ми працювали над основами SoapUI, як створення проектів, додавання WSDL, надсилання запиту та отримання відповідей і генерування тестових активів, щоб відповідати їм до цих пір.
У цьому 5-му підручнику SoapUI ми дізнаємося все про твердження в SoapUI. Ми настійно рекомендуємо вам це зробити дотримуйтесь повної серії навчальних програм SoapUI на цій сторінці вивчити всі ці основні функції.
Що ви дізнаєтесь:
Вступ до тверджень
Як і будь-яке тестування, ми маємо порівнювати те, що ми хочемо, щоб система робила, і те, що вона насправді робить, щоб дійти до певної перевірки чи твердження, яке саме це називається в контексті веб-служб. Як тестувальники, не має значення, чи ми виконали 1000 чи навіть мільйон тестових кроків, але для нас порівняння результатів визначає результат тесту.
Тому ми витратимо всю цю статтю на те, щоб зрозуміти, як ми можемо це зробити за допомогою SoapUI, хоча веб-служби можуть бути заявлені вручну. Крім того, ручне твердження забирає багато часу, коли є кілька відповідей і відповідей з великими даними. Твердження SoapUI чудово долають ці недоліки.
Твердження SOAPUI порівняти частини / усі повідомлення відповіді з очікуваним результатом. Ми можемо додати різноманітні твердження, надані SoapUI, до будь-якого кроку тесту. Кожен тип твердження націлений на конкретні перевірки відповіді, такі як відповідність тексту, порівняння XPATH або ми також можемо писати запити, виходячи з наших потреб.
Коли кроки тесту виконуються, відповідні твердження отримують відповідь на відповідні кроки тесту. Якщо будь-яка відповідь не вдалась, тоді відповідне твердження буде оброблено, а відповідний крок тесту буде позначений як невдалий. Це сповіщення можна переглянути у поданні тесту. Крім того, ми можемо знайти невдалі кроки тесту в журналі виконання тесту. Екран твердження зразка тестового кроку виглядає, як показано нижче:
На зображенні вище деякі тестові кроки ПОМИЛИ, а деякі пройшли. Причиною є твердження.
Як ми вже обговорювали раніше, якщо умова твердження не виконується з очікуваними результатами, результат ПОМИЛЯЄТЬСЯ.
Робота з різними видами тверджень у SoapUI
Давайте тепер подивимося, як працювати з різними типами тверджень, таких як:
- Містить і не містить тверджень
- XPath збіг і
- Ствердження про відповідність XQuery.
По-перше, нам потрібне дійсне розташування схеми WSDL.
Виконайте наведені нижче дії:
Крок 1. Створіть новий проект SOAP натискаючи CTRL + N і виконуйте кроки. Після створення проекту SOAPUI формує список інтерфейсів та відповідні запити.
Крок 2. Щоб додати тестовий пакет до цього проекту, виконайте такі дії:
- Клацніть правою кнопкою миші на назві інтерфейсу MedicareSupplierSoap
- Клацніть Створити тестовий набір з контекстного меню
- Натисніть OK у нижньому вікні, що з’явиться:
- У наступному спливаючому вікні потрібно ввести потрібну назву набору тестів та натиснути кнопку ОК
- SOAPUI PRO генерує набір тестів разом із запитами на панелі навігатора.
- У наборі тестів ви побачите деякі кроки тесту з кроком запиту SOAP.
Крок 3. Щоб виконати цей набір тестів, двічі клацніть на кроці запиту та вкажіть значення введення у відповідному місці. Наприклад, відкрити GetSupplierByCity запит і введіть Нью-Йорк між мітками міста.
- Почніть цей запит, натиснувши піктограму RUN - це отримає відповідь.
- Тепер додамо твердження. Для цього натисніть Твердження у верхній частині вкладок журналу.
- Клацнувши правою кнопкою миші, з’явиться спливаюче меню з деякими основними параметрами, пов’язаними із твердженням, як показано нижче:
№1) Містить твердження
Клацніть опцію Додати твердження або клацніть її на панелі інструментів - Додати твердження на екрані з'являється вікно з різними типами тверджень.
1. Клацніть Зміст власності відображається категорія зі списку - пов’язані типи тверджень та їх опис
2. Клацніть Містить і натисніть кнопку Додати
3. Це вікно конфігурації твердження. Тут ми самі повинні вказати очікуваний стан на основі відповіді.
Для екз є, дозвольте мені увійти Нью-Йорк текст у цьому текстовому полі. Ігнорувати регістр у порівнянні прапорець ігноруватиме, навіть якщо очікуване значення має великі чи малі регістри.
4. Тепер запустіть набір тестів і перевірте результати. Як ви бачили у вікні тестового набору, зелений колір вказує на успішне виконання, а червоний - на несправність.
# 2) Не містить твердження
Ми можемо використовувати твердження 'не містить' для перевірки запитів у негативних сценаріях. Ми можемо використовувати GetSupplierByZipCode прохання навчитися цьому.
Відкрийте вкладку запиту, двічі клацнувши на ній. У запиті на введення введіть невірний поштовий індекс у відповідному місці, наприклад 10029 . Запустіть цей запит зараз. Перевірте дані відповідей, які містять дані постачальника для даного поштового індексу - подивіться на зображення нижче:
(Клацніть на зображення для збільшення)
Твердження 'не містить', воно виділено зеленим кольором, оскільки воно успішно виконане.
У вікні конфігурації ми налаштували з позитивним очікуваним значенням, як показано нижче:
Він повертає true, якщо очікуване умовне значення не знайдено, і повертає false, якщо очікуване значення знайдено у відповіді.
Подібним чином ми можемо змінити умову і ще раз запустити запит. Це генерує результати відповідно.
# 3) Ствердження відповідності XPath
Твердження про збіг XPath дещо відрізняється з точки зору того, що він буде стверджувати відповідь, використовуючи фактичні дані відповіді.
Наприклад , якщо ми маємо веб-службу автентифікації для входу, яка буде автентифікувати облікові дані користувача та надіслати підтвердження клієнту з деяким логічним типом даних, які можуть бути TRUE або FALSE у формі XML.
Як відомо, документи XML будуються за допомогою тегів. Отже, вказуючи очікуване значення в конфігурації, воно повинно бути у формі XML.
яка фаза впровадження в sdlc?
Спробуймо зробити це:
Додайте ще одне твердження для GetSupplierByCity запит. У вікні Додати твердження натисніть Зміст власності категорію, а потім натисніть Збіг XPath твердження.
Відобразиться вікно нижче:
Верхній розділ - це частина декларації, а нижня - частина очікуваного результату.
Коли ми натискаємо на Заявити ми отримаємо кілька автоматично згенерованих сценаріїв декларацій, як показано нижче:
оголосити мило простору імен = ’http: //schemas.xmlsoap.org/soap/envelope/’;
оголосити простір імен ns1 = ’http: //www.webservicex.net/’;
У вищезазначених сценаріях перший рядок позначає відповідь, яка повинна бути даними XML та укладеними тегами SOAP. У наступному рядку вся відповідь буде призначена або скопійована в ns1 змінна простору імен під час виконання. Якщо ми хочемо відфільтрувати певні дані з усієї відповіді, ми повинні додати наступний сценарій.
// ns1: Дані постачальника (1)
Як відомо, якщо виконати файл GetSupplierByCity запит, він надасть відповідь, яка містить перелік персональних даних постачальника, до яких він належить Нью-Йорк .
Ось ми вже використовували Матч XPath вираз для вилучення особистих даних конкретного постачальника з масової відповіді. З цією метою ми використали файл ns1 змінна. Тепер натисніть на Виберіть з поточного кнопку.
Тоді SOAPUI генерує такий результат:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Перегляньте цей знімок екрана:
Тут у даних відповідей ви можете побачити лише одну персональну інформацію постачальника. Виходячи з числа, яке є в кутових дужках, буде створено вихідні дані.
Поки що це стосується вибору тієї частини відповіді, яка потрібна, як ми можемо / використовуємо Матч XPath твердження?
Нехай дійдемо до цього: Клацніть на кнопку Зберегти, як тільки з Вами відповість.
Спочатку, якщо ви виконували цю послугу після налаштування твердження про збіг XPath без змін, результатом буде успішна відповідь, статус виділено зеленим кольором.
Але давайте змінимо вхідний параметр у вхідному запиті на щось, що є недійсним містом, - 'XYZ або ABC'. Запустіть запит і перевірте результати, а також статус твердження. Ми отримаємо відповідь на помилку та червоний індикатор стану для твердження. Оскільки ми вже вказали, що конкретні дані постачальника повинні бути присутніми у відповіді служби у конфігурації очікуваного результату, а коли назва міста недійсна, цього постачальника явно немає.
Ось як ми можемо затвердити відповідь XML, використовуючи твердження виразу XPath Match. Погодився з тим, що з цього почати досить просто, але якщо ви спробуєте застосувати різні відповіді служби, ви отримаєте набагато кращу ідею.
Ми також можемо використовувати агреговані функції у виразі XPath Match. Це сума, мін, макс, граф і сер.
Наприклад , якщо ми хочемо знати загальну кількість постачальників, яка враховує очікувані результати, напишіть наступний сценарій.
count (// ns1: SupplierData) і воно повертається 536 в результаті. Пам’ятайте, що всі сукупні функції мають бути в нижньому регістрі.
# 4) Ствердження відповідності XQuery
Це трохи схоже на твердження XPath Match. Як ми бачили у конфігурації твердження XPath Match, буде два розділи - декларація та очікуваний результат.
- Додайте твердження XQuery Match для запиту
- У вікні конфігурації натисніть заявити і напишіть наступний сценарій
- Тепер натисніть Виберіть з Поточний кнопку
- SOAPUI генерує відповідь на сценарій
Вираз XQuery також підтримує вираз XPath Match, але він має власний синтаксис сценаріїв, який не може бути використаний у твердженні збігу XPath.
Наприклад :
Ми побачимо один приклад отримання всіх відповідей даних постачальника за допомогою виразу XQuery. Подивіться на цей зразок знімка екрана, щоб краще зрозуміти.
Фактичний сценарій:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Є більше вбудованих функцій, доступних для використання у виразі XQuery. Вони є де, замовити за, на, повернути і так далі.
Висновок
Ну, це найчастіше використовувані твердження для вас.
Основний акцент тут полягає в наступному: Твердження є найважливішими для точного прогнозування очікуваного результату веб-служб. Ось чому він є одним із ключових функції SOAPUI PRO .
Наступний підручник : У наступному навчальному посібнику ми дізнаємося про основи сценаріїв та багато іншого ...
Будь ласка, залишайтесь на зв'язку. Як завжди, ваші коментарі, запитання та пропозиції дуже вітаються.
Рекомендована література
- Як виконувати тестування на основі даних у SoapUI Pro - Підручник SoapUI No14
- 15+ підручників SoapUI: найкращий інструмент тестування API веб-служб
- Поглиблені підручники Eclipse для початківців
- Як використовувати властивості у сценарії Groovy SoapUI - Підручник SoapUI No7
- 7 найважливіших особливостей SoapUI та SoapUI Pro - Підручник 2
- Робота з властивостями SoapUI - Підручник No 8 для SoapUI
- 4 найважливіші особливості SoapUI Pro для аудиторії Pro - Підручник No 12
- Покроковий процес завантаження та встановлення SoapUI - Підручник SoapUI No3