如何在Karate UI测试中启用acceptInsecureCerts跳过自签名证书校验
解决方案
针对Chrome类浏览器的自签名证书拦截问题,你需要同时配置WebDriver能力参数和浏览器启动参数,修改后的配置如下:
Feature: browser automation 1 Background: * configure driver = { type: 'chrome', showDriverLog: true, showProcessLog: true, showBrowserLog: true, addOptions: ['--ignore-certificate-errors', '--ignore-certificate-errors-spki-list', '--allow-insecure-localhost'], capabilities: { acceptInsecureCerts: true } } Scenario: load demo page Given driver 'https://127.0.0.1:8443/demo' * waitUntil('document.readyState == "complete"') * print 'page loaded' * screenshot() Then delay(2000).text('body')
改动说明
- 取消了额外的
session变量定义,capabilities参数可以直接嵌套在驱动配置内,Karate会自动将其注入WebDriver会话 - 新增
addOptions配置项,传入Chrome专属的证书忽略参数,仅配置acceptInsecureCerts无法绕过Chrome的安全拦截,必须补充浏览器启动参数 - 额外补充的
--allow-insecure-localhost参数,针对本地环回地址的证书校验会进一步放宽,避免本地测试场景下的偶发拦截问题
内容的提问来源于stack exchange,提问作者fdulger
相关产品推荐
相关产品推荐

