Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Каратэ реализовано на Java, но тестовые скрипты написаны на Gherkin, поскольку изначально Karate было расширением фреймворка Cucumber . Он был построен в Intuit и выпущен под лицензией MIT .

История [ править ]

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

Основное использование [ править ]

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

Особенность: пример карате 'hello world' Сценарий: создание и получение котаУказан URL-адрес 'http://myhost.com/v 1 / cats' и запрос {name: 'Billie'} при отправке метода Затем статус 201И сопоставьте response == {id: '#notnull', name: 'Billie'}Учитывая путь response.id Когда метод получения Затем статус 200

Фактически это делает два вызова: сначала HTTP POSTдля 'http://myhost.com/v1/cats', а затем GETдля того же URL-адреса, но со значением, response.idдобавленным в качестве параметра пути REST-ful. matchИспользуется ключевое слово для утверждения , что данная полезная нагрузка , как и ожидалось. Использование #notnullтокена «нечеткого совпадения» позволяет «игнорировать» фактическое значение, поскольку оно является динамическим, поскольку это автоматически сгенерированный идентификатор на стороне сервера.

Особенности [ править ]

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

Прием [ править ]

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

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

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • карате на GitHub