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.
