Тестирование REST API и веб-сервисов RESTful: от нуля до героя с Katalon Studio
Объяснение REST API и веб-сервисов RESTful
REST API, который обозначает интерфейс прикладного программирования передачи состояния представления. Некоторые из самых простых вопросов, которые могут возникнуть, когда вы впервые начинаете понимать REST API, — это то, что именно представляется, что такое состояние и что передается. Итак, здесь, в статье, давайте рассмотрим все эти слова по отдельности и узнаем, что они все означают.
Слово «репрезентативный» означает, что существует передача представлений ресурсов, а ресурсами может быть практически все, что можно назвать в Интернете, например, список пользователей или список фотографий, комментариев, постов, статей, страниц, видео, книги, профили и т. д. Чтобы понять, как именно мы получаем представление о ресурсах, нужно посмотреть, как все взаимодействуют с веб-страницами, моделью клиент-сервер и протоколом HTTP. Вот протокол HTTP:
Каждый раз, когда вы вводите URL-адрес в браузере, вы отправляете запрос на веб-сервер, и веб-сервер отвечает ресурсом. Здесь важно понимать, что каждый раз, когда вы вводите URL-адрес в браузере или нажимаете ссылку на веб-страницу, вы отправляете запрос на определенный ресурс или ресурсы с веб-сервера. И веб-сервер отвечает и доставляет запрос вашего ресурса в ваш браузер, как на официальной веб-странице или в любом другом формате, в котором находится ресурс. Второй важный момент, который нужно понять, это то, что веб-сервер на самом деле не доставляет ресурсы. Он отправляет вам не имеющуюся у него базу данных, а представление этого ресурса в удобочитаемом формате, например HTML или изображение. Подумайте о реальных ресурсах, физических вещах, расположенных в базе данных веб-сервера или хранящихся на жестком диске веб-сервера, и представлениях этих ресурсов в виде копий либо в читаемом формате для людей, таком как HTML или изображение, либо в удобных для работы форматах для программистов. как JSON и XML. Также полезно думать обо всей сети как о наборе ресурсов. Мы всегда запрашиваем ресурс при нажатии на ссылку или вводе URL-адреса, неудивительно, что URL-адрес означает унифицированный указатель ресурсов.
Так что насчет слова «государство»? Возьмем, к примеру, всякий раз, когда я щелкаю ссылку, состояние приложения меняется, и мне предоставляется другой ресурс, который представляет собой страницу со всем другим содержимым этого ресурса. И когда я просматриваю все эти разные страницы, состояние приложения постоянно меняется от одного состояния к другому. Когда ресурс передается с веб-сервера, мы отправляем запрос на ресурс и получаем обратно представление и любые форматы представленных ресурсов. Вот что подразумевается под словом «трансфер». Однако это также может относиться к передаче состояния приложения, когда мы нажимаем на следующую ссылку и переходим на другую страницу.
Внедрение REST API и тестирование веб-сервисов RESTful с помощью Katalon Studio
Установка и настройка Katalon Studio
Пожалуйста, обратитесь к руководству для всех основных шагов, от загрузки до активации сборки Установка и настройка Katalon Studio.
Создание нового проекта и настройка автоматического тестирования API
Шаг 1: Создать новый проект
Перейдите в меню «Файл» -> «Создать» -> «Проект» и введите имя проекта и его местоположение, чтобы начать новый проект.
Как только проект будет подтвержден, мы увидим структуру папок в обозревателе тестов. Эта система папок отвечает за хранение всех тестовых ресурсов, а также является местом, где мы начинаем наш первый тест API.
Шаг 2: Создайте первый тест API
Перед созданием нашего первого теста API давайте посмотрим на формат, который мы используем для настройки проекта тестирования.
Репозиторий объектов
- Репозиторий объектов — это место, где хранятся все конечные точки веб-службы, а также вся информация о методе запроса, URL-адресе, заголовке, содержимом и аутентификации.
- Тестовые объекты веб-службы в репозитории объектов объединены системой папок для лучшего управления.
Тестовые случаи
- Test Cases хранит все тестовые сценарии и сгруппирован по системе папок. Каждый тестовый пример включает несколько шагов, иллюстрирующих тестовый сценарий.
- Мы можем выполнить тестовый пример индивидуально с указанным профилем выполнения.
Наборы тестов
- Наборы тестов — это место, где хранятся все наборы тестов. Набор тестов — это набор тестовых случаев, проверяющих конкретную цель.
- Тестовые случаи на уровне набора тестов могут быть выполнены с использованием подхода, управляемого данными.
- Отчеты о тестировании также создаются на уровне набора тестов.
Коллекция наборов тестов
- Коллекция наборов тестов — это набор наборов тестов, проверяющих большую цель.
- В Test Suite на уровне Test Suite Collection указаны определенные тестовые среды.
- Настройка проекта тестирования API
Шаг 3: Создайте новую конечную точку RESTful в репозитории объектов.
Репозиторий объектов -> Создать -> Запрос веб-службы
Katalon Studio сохраняет конечную точку веб-службы для тестирования в репозитории объектов, что похоже на тестовый объект в тесте пользовательского интерфейса. В диалоговом окне «Создать новый запрос веб-службы» вы можете выбрать создание запроса RESTful или SOAP.
Тип запроса является обязательным полем. Вам нужно указать его именно на этом шаге. Напротив, URL не требуется. Вы можете установить это значение позже на следующем шаге.
Нажмите OK, после чего мы готовы ввести более подробную информацию для первого теста RESTful.
Есть несколько важных концепций, которые необходимо указать при тестировании RESTful-запроса:
(1) Метод запроса
Мы можем выбрать один из следующих методов для проверки вашего первого запроса: GET, POST, PUT, DELETE. Метод должен совпадать с URL-адресом, чтобы иметь действительный запрос. Например, предположим, что наш первый тест — это общедоступный API из версии Jira Cloud. Мы должны использовать метод GET, чтобы получить информацию о существующем билете, используя его идентификатор.
(2) URL запроса
Наряду с методом запроса URL-адрес запроса используется, чтобы сообщить веб-серверу, какой API используется при тестировании. Любое несоответствие между методом и URL-адресом приведет к исключению недопустимого запроса во время выполнения или неправильному ответу данных.
(3) Авторизация
Авторизация является неотъемлемой частью API. Он используется для получения правильных данных с разрешения (если данные не являются общедоступными). Katalon Studio поддерживает распространенные методы аутентификации:
Основной метод требует имя пользователя и пароль. Не забудьте нажать «Обновить заголовок HTTP», чтобы можно было применить аутентификацию к заголовку HTTP.
(4) Проверка
Проверка — это место, где вы определяете утверждение, чтобы гарантировать, что ответ будет содержать ожидаемую информацию.
Вкладка «Проверка» запроса аналогична вкладке «Скрипт» тестового примера. Другими словами, вы можете написать собственные сценарии со встроенными ключевыми словами или сценарии Groovy/Java для проверки данных ответа. Помимо встроенных ключевых слов, Katalon Studio также поддерживает встроенные сниппеты, которые помогают создавать утверждения одним щелчком мыши. Это полезно для тестировщиков, которым может быть сложно справиться с разбором и утверждением в формате данных JSON.
Правая панель запроса — это автоматически отображаемый в хорошем формате ответ и результат проверки в Журнале верификации. Чтобы включить скрипт проверки при отправке запроса, вам нужно выбрать опцию Test Request and Verify из кнопки выполнения.
Сценарий проверки помогает вам быстро получить обратную связь о статусе запроса, а не о фактическом тесте. Вы можете добавить дополнительные утверждения на уровень тестового примера на следующем шаге.
(5) Переменные
Переменные делают тестирование API более надежным и динамичным благодаря подходу, управляемому данными. В Katalon Studio каждая часть запроса может быть параметризована. Другими словами, динамические данные можно использовать для: URL-адреса, аутентификации, заголовка HTTP и тела HTTP, чтобы максимизировать возможности тестирования на основе данных. Следующая настройка работает так же, как и в приведенном выше примере:
(6) Форматер
Ответ будет автоматически отображаться в аккуратном формате: JSON, XML, HTML и JavaScript. Это полезно для быстрого просмотра статуса ответа.
Шаг 4: Создайте новый тестовый пример с существующим запросом
Хотя запрос в репозиторий объектов полезен для быстрого тестирования, мы можем добавить проверку запроса на уровне тестового примера для лучшего управления и отчетности.
Шаг 5: Добавить существующий запрос в тестовый пример
Запрос можно вставить в тестовый пример с помощью встроенных ключевых слов веб-службы. Существует множество ключевых слов, которые можно использовать для отправки запроса, проверки ответа и выполнения запроса как части более крупного потока тестирования.
Следующий тестовый пример иллюстрирует, как мы можем вызвать запрос с шагами проверки из тестового примера:
Тестовый пример можно выполнить как обычный тестовый пример в Katalon Studio. Каждый шаг проверки можно просмотреть в журнале.
Шаг 6: Добавьте тестовый пример в набор тестов
Тестовый пример можно добавить в набор тестов либо с помощью функции перетаскивания, либо с помощью инструмента «Добавить тестовый набор». Как только тестовый пример добавлен в набор тестов, мы можем выполнить весь набор тестов с помощью кнопки «Выполнить» (без выбора браузера, как при тестировании пользовательского интерфейса).
Дополнительные сведения об этом учебном пособии доступны по адресу