Тестування API за допомогою QTP/UFT: Повний підручник

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

Тестування API в QTP/UFT Перевірка сервісу здійснюється безпосередньо, без залучення інтерфейсу користувача. Тест API будується як потік дій на полотні, а контрольні точки вирішують, чи пройде кожна відповідь.

  • 🔘 Без графічного інтерфейсу: Вхідні дані надсилаються безпосередньо до служби, а записана відповідь порівнюється з очікуваннями.
  • ☑️ П'ять підтримуваних типів: Веб-сервіс, REST, об'єктно-орієнтована мова, база даних та пропрієтарні API.
  • Потік активності, а не об'єкти: Перетягніть HTTP-запит з панелі інструментів на тестовий потік і встановіть його властивості.
  • 🧪 Контрольні пункти вирішують вердикт: Контрольна точка коду стану 200 позначає успішний виклик без ручної перевірки.
  • 🛠️ Результати в одному місці: Засіб перегляду результатів виконання повідомляє про кожну дію, її реакцію та результат кожної контрольної точки.
  • 📌 Поточна назва: QTP плюс тестування послуг HP стало UFT, тепер продається як OpenText Функціональне тестування (UFT Один).

Створення та проведення API-тесту в QTP та  UFT Один

Перш ніж тестувати API, нам потрібно знати, що таке API. API (інтерфейс прикладного програмування) – це набір програмних функцій та процедур, які можуть виконуватися іншими програмними застосунками.

Що таке тестування API?

Тестування API це тестування програмного забезпечення метод перевірки інтерфейсів прикладного програмування (API). Метою тестування API є тестування API з точки зору функціональності, надійності, безпеки та продуктивності. Під час тестування API програмне забезпечення використовується для надсилання вхідних даних до API, а вихідні дані записуються для тестування API.

Отже, тестування API це:

  • Тестування без GUI
  • Програмне моделювання сценаріїв даних або потоків керування.
  • Зосередитися на функціональність, а не на поведінці чи враженні клієнтів.

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

Обсяг тестування API між клієнтським рівнем та рівнем бази даних

Чому тестування API є важливим?

Тестування API має чотири суттєві переваги

1. Тестування API є трендом

Як показано на наступному рисунку, тестування API дуже швидко розвивалося протягом останніх десяти років. Воно стало набагато популярнішим, ніж інші типи тестування.

Діаграма, що показує зростання впровадження тестування API протягом десяти років

2. Ефективний час

За допомогою API-тестування ми можемо використовувати паралельне виконання для скорочення часу виконання тестів. Ви можете заощадити до 5 разів порівняно з іншими типами тестування.

3. Незалежний від мови

У тестуванні API обмін даними здійснюється через XML or JSON, тому для перевірки відповіді можна використовувати будь-яку мову. Наприклад, якщо у вас є сервіс, відповідь якого має формат JSON, ви можете легко проаналізувати дані за допомогою Java, C# або будь-якою іншою мовою.

4. Легка інтеграція GUI

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

Тестування API за допомогою UFT (Уніфіковане функціональне тестування)

Існує багато інструментів, як з відкритим кодом, так і комерційних. UFT є сильним вибором для виконання API-тестів, оскільки потік побудовано візуально, а конфігурація зберігається в одній панелі властивостей.

Остання версія QTP, що називається HP Unified Функціональне тестування (UFT), є комбінацією HP QTP (інструмент тестування графічного інтерфейсу) та HP Service Test (інструмент тестування API). UFT підтримує веб, Java, .NET, Oracle, Siebel, веб-сервіси та багато інших основних мов і платформ, які не підтримувалися старішими версіями.

⚠️ Назва продукту: інструмент, описаний тут як HP UFT зараз продається як OpenText Функціональне тестування (UFT один), перейшовши від HP до Micro Focus, а потім до OpenTextНаведені нижче екрани взяті з випуску часів HP, тому формулювання меню відрізняється від поточних збірок, але процес тестування API, дії та контрольні точки працюють так само.

Тип підтримки тестування API HP UFT

  1. Веб-сервіс
  2. REST
  3. Об'єктно-орієнтована мова
  4. Database
  5. Власний API

Почніть своє перше тестування API з QTP

У цьому тестуванні API в UFT навчальний посібник, ми розглянемо UFT Приклади тестування API. Ми збираємося протестувати Graph API Facebook. Ми протестуємо API як Тестовий випадок нижче

  1. Отримати профіль зазначеного користувача на Facebook.
  2. Перевірте, чи відповідає профіль очікуванням

Ось крок для створення тестового потоку для цього API.

Запланований UFT Тестовий процес для тестового випадку Facebook Graph API

⚠️ Щодо цього прикладу: Facebook припинив використання Graph API версії 2.3 кілька років тому, а термін дії токена доступу, показаного нижче, давно закінчився, тому самий виклик більше не повертає дані. Початковий запит залишається незмінним, як і в робочому прикладі; виконайте ті ж самі кроки на будь-якій поточній кінцевій точці REST, щоб продовжити.

Крок 1) Відкрийте HP UFT та створити новий проект API Testing

  1. Оберіть Пуск > (Усі) програми > Програмне забезпечення HP > HP Unified Functional Testing > Unified Functional Testing. У поточних випусках це просто UFT Один ярлик

    Windows Шлях до ярлика HP Unified Functional Testing у меню «Пуск»

  2. Натисніть Файл > Створити > Тест. Виберіть Тест API тип

    UFT Діалогове вікно «Додати новий тест» із вибраним типом тесту API

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

    Називання нового тестового API API_Facebook та вибір місця для його збереження

Крок 2) Додавання HTTP-запиту до тестового потоку

Ми будемо використовувати HTTP-запит, щоб зробити запит до Facebook API.

  1. Виберіть Інструменти > Мережа

    Мережева група розширилася в UFT Панель інструментів

  2. Перетягніть елемент Запит HTTP щоб перевірити потік.

    Активність HTTP-запитів, що перевищує UFT Полотно потоку тестування API

Крок 3) Налаштування та передача параметрів у HTTP-запит

  1. Клацніть правою кнопкою миші на Запит HTTP об'єкт для його редагування.

    Контекстне меню об'єкта HTTP-запиту в тестовому потоці

  2. У розділі «Властивості» введіть URL

    Панель властивостей активності HTTP-запиту з URL поле

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. Ви також можете передати параметр в API, встановивши значення в Заголовок запиту сітка.

    Сітка заголовка запиту, що використовується для передачі додаткових параметрів у виклик API

    Ввімкніть кнопку Провідник API графіків Facebook, щоб отримати значення access_token.

  4. Встановіть HTTP-метод до GET.

    Список методів HTTP для дії HTTP-запиту, для якої встановлено значення GET

    GET вибрано як метод HTTP для запиту

  5. Конфігурувати Контрольно-пропускні пункти в Запит HTTPВстановіть код стану на 200 у розділі «Контрольні точки». Контрольні точки дозволяють побачити, чи дія була успішною, без необхідності перевіряти результат вручну, і вердикт «пройдено» чи «не пройдено» визначається ними. Код стану 200 означає, що тестовий випадок пройдено.

    Панель контрольних точок з очікуваним кодом стану, встановленим на 200

Крок 4) Запустіть тест

Натисніть прогін кнопку або натисніть F5, щоб відкрити діалогове вікно «Виконати тест». Натисніть прогін скомпілювати та запустити тест.

UFT Діалогове вікно «Запустити тест» відкривається кнопкою «Запустити»

Крок 5) Перегляньте результат

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

Запустіть переглядач результатів, який показує невдалий тест API

Коли тестовий випадок пройде успішно, результат буде представлено нижче.

Запустіть переглядач результатів, який показує успішне проходження тестового випадку API

Ваше перше тестування API у UFT тепер завершено.

Куди піти звідси

Тепер, коли ви навчилися створювати тест за допомогою API-тесту в UFT, ви можете створити власний тест для вашої програми без графічного інтерфейсу. Додавання КПП за відповідь та групуping дзвінки в угод є звичайними наступними кроками.

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

Тест графічного інтерфейсу користувача (GUI) запускає елементи керування на екрані та зберігає їх як тестові об'єкти. Тест API – це потік дій на полотні, який надсилає запити безпосередньо до сервісу, тому з інтерфейсу нічого не записується.

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

Імпортуйте WSDL служби в тест. UFT зчитує документ, створює дію для кожної операції, яку надає служба, і додає їх до області інструментів, щоб їх можна було перетягнути в потік тестування, як будь-яку іншу дію.

Зв’яжіть властивості вхідних даних активності з джерелом даних, таким як аркуш Excel або XML-файл, замість typing літеральні значення. Кожен рядок потім створює одну ітерацію, а засіб перегляду результатів виконання повідомляє про результат для кожної ітерації.

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

Copilot корисний для коду, пов'язаного з тестом: логіка користувацьких дій, розбір відповідей та допоміжні функції. Він не може створювати візуальний потік тесту або зчитувати інформацію про ваш сервіс.tracт, тому кожен запит і контрольна точка, які він пропонує, потребують перевірки.

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

Окрім коду стану HTTP, тест API може перевірити вміст тіла відповіді, значення окремих заголовків та повернуті дані порівняно з очікуваним джерелом. Кожен результат контрольної точки відображається поруч із запитом у засобі перегляду результатів виконання.

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