Karate v2.1.0, выпущенный 17 июня 2026 года, содержит важные улучшения безопасности, исправления ошибок и новые функции для тестирования API и мобильных приложений.

Ключевые изменения

Критическое изменение: Улучшенная безопасность Mock-серверов

Karate v2.1.0 представляет критическое обновление безопасности для mock-серверов. По умолчанию интероперабельность Java (Java.type) и выполнение встроенных выражений из данных запроса (request, requestHeaders, requestParams) теперь отключены. Это снижает риск удаленного выполнения кода. Mock-серверы, которым требуются эти функции, должны явно включить их, добавив в свой Background:

configure javaBridgeEnabled = true
configure requestExpressionsEnabled = true

В качестве альтернативы можно использовать .javaBridgeEnabled(true) или .requestExpressionsEnabled(true) в MockServer.Builder.

Важные исправления

Этот релиз устраняет несколько проблем, в частности, улучшая поведение match с нулевыми/отсутствующими путями и обеспечивая работу #notpresent в нескольких столбцах Examples. Симуляции Gatling теперь снова автоматически считывают KARATE_ENV. Другие исправления включают корректное разрешение перекрестных ссылок схем, применение изменений configure headers/cookies для каждого запроса и точный парсинг call read('file.js')(args). Также улучшена отчетность для вызовов функций, управляемых JS, и проценты прохождения в HTML-отчетах.

Новые функции и улучшения

Инженеры по QA получают больше контроля благодаря новым уровням логирования консоли (off/none), стабильной идентификации сценариев через __id и аксессору karate.scenario.slug. Удобный аксессор request.bodyJson упрощает тестирование API. HTML-отчеты теперь показывают эффективные (унаследованные) теги, а karate.getConfigDir() предоставляет доступ к каталогу karate-config.js. Сухие прогоны (dry-run) теперь помечают шаги как пропущенные, а не пройденные.

Полный список всех исправленных проблем в этом релизе.

Влияние на QA-команды

QA-команды, обновляющиеся до Karate v2.1.0, должны пересмотреть существующие конфигурации mock-серверов для обеспечения функциональности, особенно тех, которые полагаются на динамическую обработку данных запросов. Это обновление значительно повышает безопасность mock-сервисов. Многочисленные исправления ошибок и новые функции оптимизируют рабочие процессы тестирования API и мобильных приложений, улучшая точность отчетности и опыт разработчиков. Для получения дополнительной информации о тестировании API, ознакомьтесь с нашим Учебником по тестированию API с Karate.

Часто задаваемые вопросы

  • В: Какое самое важное изменение в v2.1.0? О: Отключение по умолчанию интероперабельности Java и выполнения выражений из запросов в mock-серверах по соображениям безопасности.
  • В: Как включить интероперабельность Java в моем mock-сервере? О: Добавьте configure javaBridgeEnabled = true в секцию Background вашего mock-сервера.
  • В: Является ли это обязательным обновлением? О: Хотя это не является обязательным, улучшения безопасности и исправления ошибок делают это обновление рекомендуемым для всех пользователей.

Для получения полной информации, обратитесь к Полному списку изменений Karate v2.1.0.