Каратэ (программное обеспечение) - Karate (software)

Каратэ
Логотип каратэ
Оригинальный автор (ы)Питер Томас
изначальный выпуск12 февраля 2017 г.
Репозиторийhttps://github.com/intuit/karate
Написано вЯва
ЛицензияМассачусетский технологический институт

Каратэ является Открытый исходный код общее назначение автоматизация тестирования структура, которая может выполнять сценарии вызовов HTTP конечные точки и утверждают, что JSON или XML ответы соответствуют ожиданиям. Каратэ также поддерживает сервис-виртуализация где он может вызывать "фиктивные" (или заглушки) серверы, которые могут заменить веб-службы, которые должны участвовать в интеграционный тест. Возможности Karate включают возможность запускать тесты параллельно, отчеты HTML и совместимость с Непрерывная интеграция инструменты.

Дополнительная возможность повторного использования функциональных тестов в качестве тестов производительности за счет интеграции с Гатлинг инструмент был выпущен в июле 2018 г.[1] В проекте также добавлена ​​возможность автоматизации веб-интерфейса в 2019 году.[2] который был объявлен вне статуса RC (релиз-кандидата) в 2020 году.[3]

Каратэ реализовано в Ява но тестовые скрипты написаны на Корнишон поскольку каратэ изначально было продолжением Огурец фреймворк. Он был построен в Intuit и выпущен под Лицензия MIT.

История

Каратэ было создано Питером Томасом, Intuit наемный рабочий.[4]

Основное использование

В этом примере показано, как выглядит простой скрипт теста Каратэ и как он основан на Корнишон синтаксис.

Особенность: пример карате 'привет мир'Сценарий: создать и получить кошкуДанный url 'http://myhost.com/v1/ кошкиИ запрос {имя: 'Билли'}Когда метод постпотом статус 201И сопоставить ответ == {id: '#notnull', name: 'Billie'}Данный путь response.idКогда метод получитьпотом статус 200

На самом деле это делает два вызова, сначала HTTP СООБЩЕНИЕ на "http://myhost.com/v1/cats", а затем ПОЛУЧИТЬ на тот же URL, но со значением response.id добавляется как параметр пути REST-ful. В матч ключевое слово используется для подтверждения того, что данные полезные данные соответствуют ожиданиям. Использование #ненулевой Токен «нечеткого совпадения» заботится об «игнорировании» фактического значения, поскольку он является динамическим, поскольку это автоматически сгенерированный идентификатор на стороне сервера.

особенности

  • Хотя каратэ основано на Cucumber, от пользователя не требуется писать дополнительные «определения шагов», что экономит много усилий. Тесты полностью описаны в Gherkin.[5]
  • Встроенная поддержка переключения среды[6]
  • Всесторонняя поддержка HTTP, включая SOAP / XML, HTTPS, HTTP-прокси, данные формы в кодировке URL, загрузку файлов из нескольких частей[6]
  • Моки HTTP API
  • Интеграция с популярными средами модульного тестирования Java, такими как JUnit[7]
  • Совместимость с непрерывная интеграция инструменты[7]
  • Веб-браузер автоматизация Хром через протокол Chrome DevTools[2]
  • Кроссбраузерная автоматизация через W3C WebDriver Технические характеристики

Прием

Karate был включен в пятерку лучших инструментов тестирования API с открытым исходным кодом в течение шести месяцев после его выпуска.[8] Он также был упомянут как один из 10 инструментов тестирования API, которые можно попробовать в 2017 году.[6]

Каратэ впервые было занесено в ThoughtWorks Технологический радар в 2019 году[9] с рейтингом «Оценить». Год спустя он перешел в категорию «Пробная версия» в мае 2020 года.[10]

использованная литература

  1. ^ «Примечания к выпуску Karate 0.8.0 - в котором представлено тестирование производительности».
  2. ^ а б Томас, Питер. «Миру нужна альтернатива Selenium - поэтому мы ее создали». Хакер.
  3. ^ «Примечания к выпуску Karate 0.9.5, в котором представлена ​​автоматизация веб-браузера».
  4. ^ Томас, Питер (2017-02-28). "Каратэ: тестирование веб-сервисов стало проще". BLUEprint от Intuit. Получено 2018-02-23.
  5. ^ "Тестирование REST API с карате | Baeldung". Baeldung. 2017-11-16. Получено 2018-02-23.
  6. ^ а б c Настойчивый. «10 инструментов тестирования API, которые стоит попробовать в 2017 году». Уверенный. Получено 2018-02-23.
  7. ^ а б "Тестирование REST API Java Spring Boot с помощью Karate". semaphoreci.com. Получено 2018-02-23.
  8. ^ «5 лучших инструментов для тестирования API с открытым исходным кодом: как выбрать | TechBeacon». TechBeacon. Получено 2018-02-23.
  9. ^ «Технологический радар ThoughtWorks, том 20 (апрель 2019 г.)» (PDF). Получено 2019-09-19.
  10. ^ «Технологический радар ThoughtWorks (языки и платформы), том 22 (май 2020 г.)».

внешние ссылки