如何在Tavern(pytest)中禁用SSL证书验证以完成测试?
在Tavern中禁用SSL证书验证的解决办法
这种测试环境里的无效SSL证书确实挺烦人的,完全卡住测试进度对吧?别担心,Tavern提供了几种方式可以跳过SSL证书验证,帮你继续推进测试:
方法一:单个测试用例中单独禁用
如果你只是某几个测试用例需要跳过验证,可以直接在测试的YAML文件里给对应请求加上verify: false参数:
test_name: 测试目标接口 stages: - name: 发送GET请求 request: url: https://url-to-host/folders/in/url method: GET verify: false # 关键配置:禁用当前请求的SSL验证 response: status_code: 200
方法二:全局禁用所有测试的SSL验证
如果测试环境里所有接口都用的是无效证书,不想一个个修改用例的话,可以用全局配置:
方式1:通过环境变量运行
在启动pytest(Tavern基于pytest运行)的时候设置环境变量:
TAVERN_SSL_NO_VERIFY=true pytest
方式2:通过pytest配置文件设置
在项目根目录的pytest.ini(或者tox.ini)里添加配置:
[pytest] tavern-ssl-no-verify = true
⚠️ 重要提醒:这些方法只适合测试环境使用,生产环境绝对不能禁用SSL验证,不然会带来严重的安全风险!
内容的提问来源于stack exchange,提问作者edwin.durning




