Рейтинг: 2.6/5. на основе 5 оценок.
Пожалуйста, подождите...

Программное обеспечение Karate – это довольно новый продукт на рынке специализированных веб-инструментов для проверок виртуальных сервисов. Хоть он и создан на основе языка программирования Java, его базовая ценность состоит в том, что тестировщику не обязательно знать особенности проверки на данном языке и не нужно досконально разбираться в особенностях автоматизации тестов.

Данная статья – это своего рода практическая инструкция по применению этого инструмента в повседневной деятельности QA-инженеров, которые выполняют автоматизированные проверки ПО.

Системное окружение для использования Karate

Так как продукт создан на основе языка Java, его можно запускать практически откуда угодно (особых технических и системных ограничений разработчиками программы не установлено).

Новый проект создается с помощью разнообразных шаблонов, которые в достаточном количестве присутствуют в сети. Например, можно использовать персональные шаблоны Maven.

Также отметим, что продукт отличается классической директорией для проектов на основе Java + CucumberJVM.

Если детально изучить техническую документацию на продукт, можно обнаружить рекомендацию разработчиков о том, что все feature-файлы стоит выгружать в специальную директорию: scr/test/java.

Фреймворк Karate

Фреймворк Karate

Использование ИСР

Техническая документация настоятельным образом рекомендует применять Eclipse или IntelliJ-IDEA для непосредственного процесса создания тестовых случаев. Хорошо, что обе ИСР полностью поддерживают Junit и Cucumber. А это значит, Karate можно использовать также для проведения теста и редактирования проверяемых сценариев.

В сети есть много информации касательно работы Karate и VisualStudio. Ценители такого сочетания акцентируют внимание на следующем:

  • Быстроте и простоте в технической поддержке;
  • Отличной взаимосвязи с Gherkin и Java;
  • Допуске использования персонального менеджера файлов со встроенным терминалом.

На скриншоте ниже предоставлен яркий пример полноценного использования Karate внутри системы VisualStudio на реальном проекте.

Пример использования Karate внутри VisualStudio

Пример использования Karate внутри VisualStudio

Примеры шаблонного проекта в Karate (+ код)

Итак, классический (шаблонный) пример теста в документе users.feature можно выполнить в виде проверки получения пользователей из JSONPlaceholder REST API –

Feature: sample karate test script
Background:
* url ‘https://jsonplaceholder.typicode.com
Scenario: get all users and then get the first user by id
Given path ‘users’
When method get
Then status 200
* def first = response[0]
Given path ‘users’, first.id
When method get
Then status 200

В примере четко прослеживается традиционный формат «Если-когда-тогда». Но, в сравнении с широко используемым Gherkin, классические стадии проверки в Karate позволяют осуществлять тестирование технически мощнее и продуктивнее. А именно:

  1. Given-шаги разрабатывают нужные запросы;
  2. When-шаги направляют запросы;
  3. Then-шаги проводят валидацию запросов;
  4. Catch-all помогают с дополнительными условиями (к примеру, могут создать пространство для нужных переменных).

Тестовые шаги очень просты. Использование Java визуально спрятано от глаз тестировщика, но он всегда может заняться поиском внутри уровней фреймворка. Кроме того, подобный сценарий тестов наглядно демонстрирует, как правильно применять данные из полученного ответа в качестве специального ввода для последующего запроса (и так по кругу).

Правила проведения тестовых сценариев

Учитывая тот факт, что для проведения тестов был выбран Maven (в качестве шаблона) и VisualStudio, то наиболее простой и эффективный способ выполнить проверки без дополнительных настроек, это применение командной строки с использованием специальной команды mvmtest.

Выгрузка тестовых итогов выполняется в форме документа exampletest с расширением java. Такой файл может провести все feature-документы в тестовом наборе.

К слову, по умолчанию фреймворк Karate поддерживает jUnit4, но jUnit5 тоже можно использовать на специфических проектах.

Выполнение тестов основано на использовании большого количества строк внутри консоли. Любой запрос будет там отображаться.

Возможности автономного запуска тестов

Создание тестов на основе доменно-специфического языка Karate не требует от программиста или тестировщика полного познания языка Java, но настройка полной конфигурации проекта все-таки в них нуждается. Очень хорошо, что Karate предоставляет полностью автономный JAR, требующий запуска файлов без определенных зависимостей или конфигурирования.

Система просто берет нужные файлы, выстраивает корректные пути к ним и выполняет их, создавая исчерпывающие Cucumber-отчеты. Данный JAR – отличное решение для тестировщиков, которые не могут похвастаться солидным опытом в программировании.

Отчет, сгенерированный с участием JAR

Отчет, сгенерированный с участием JAR

На рисунке выше можно увидеть подобный отчет, сгенерированный с непосредственным участием JAR.

Прочие особенности

У Karate есть много особенностей, которыми стоит воспользоваться, а именно:

  • Возможность параллельной активации нескольких групп тестов;
  • Имитация сервлета;
  • Графический интерфейс для визуального исправления тестовых сценариев;
  • Изучение файлов разных видов для создания переменных;
  • Использование feature-файлов из содержания другого feature-файла;
  • Использование (вызов) программного кода Java;
  • Применение тестового сценария, например тестов производительности Gatting.

Итоги

В целом, это очень практичное и удобное средство для проведения тестирования различных веб-сервисов. В его возможности входит работа с деталями программного внедрения, а значит, тестировщик может спокойно сосредоточиться на проведении необходимых проверок.

Для полноценной работы с данным инструментом необходимы как минимум базовые познания в сфере программирования. Ведь тот же запуск тестов возможен только на основании команд Java, а все feature-файлы – не более чем обычные тест-шаги. Также у тестируемых проектов может быть свой API – а это программный код по умолчанию.

Оставить комментарий