Автор (ы) оригинала | Питер Томас |
---|---|
изначальный выпуск | 12 февраля 2017 г. |
Репозиторий | https://github.com/intuit/karate |
Написано в | Ява |
Лицензия | Массачусетский технологический институт |
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]
Ссылки [ править ]
- ^ «Примечания к выпуску Karate 0.8.0 - в котором введено тестирование производительности» .
- ^ a b Томас, Питер. «Миру нужна альтернатива Selenium - поэтому мы ее создали» . HackerNoon .
- ^ «Примечания к выпуску Karate 0.9.5 - в котором представлена автоматизация веб-браузера» .
- ^ Томас, Питер (2017-02-28). "Каратэ: упрощенное тестирование веб-сервисов" . BLUEprint от Intuit . Проверено 23 февраля 2018 .
- ^ "Тестирование REST API с карате | Baeldung" . Baeldung . 2017-11-16 . Проверено 23 февраля 2018 .
- ^ a b c Настойчивый. «10 инструментов тестирования API, которые стоит попробовать в 2017 году» . Настойчивый . Проверено 23 февраля 2018 .
- ^ a b «Тестирование REST API Java Spring Boot с помощью карате» . semaphoreci.com . Проверено 23 февраля 2018 .
- ^ "5 лучших инструментов тестирования API с открытым исходным кодом: Как выбрать | TechBeacon" . TechBeacon . Проверено 23 февраля 2018 .
- ^ "ThoughtWorks Technology Radar Vol. 20 (апрель 2019 г.)" (PDF) . Проверено 19 сентября 2019 .
- ^ «Технологический радар ThoughtWorks (языки и платформы), том 22 (май 2020 г.)» .
Внешние ссылки [ править ]
- карате на GitHub