记录 HttpRunner 踩坑之 base_url 默认读取方式
在写测试用例的时候,经常会写 base_url 在 config 关键字下,但是在执行之后 HttpRunner 报错:
8:35PM ERR assert failed assertMethod=eq checkExpr=status_code checkValue=404 checkValueType=int64 expectValue=200 expectValueType=int64
8:35PM ERR run step end step="test status code 200" success=false type=request
8:35PM ERR [Run] run testcase failed error="abort running due to failfast setting: step validation failed"
这里报错的问题在于,请求的时候接口了 404 状态码。
排查过程
- 接口请求如果返回的是 404 ,那么就需要检查请求的 url 是不是填写正确。
- 如果 url 填写正确,那么检查接口后面的参数填写是否正确。
针对以上两个疑问,第一时间排查 url 的问题。
检查发现,config 下有一个 base_url
关键字和项目目录的.env
是同名的。
删除 .env
文件下的 base_url
是否能够正常执行。
8:38PM INF validate status_code assertMethod=eq checkExpr=status_code checkValue=200 checkValueType=int64 expectValue=200 expectValueType=int64 result=true
8:38PM INF run step end exportVars=null step="test status code 200" success=true type=request
删除之后,执行测试用例成功了,那么可以定位出是同名的问题。
结论
HttpRunner 默认会去读项目目录下的 .env
文件的 base_url
,而不是读 config 关键字下的 base_url
报错类型是 404,原因是我们请求的 url 是错误的,检查了之后,发现 .env
下也有一个 base_url,那么框架默认就去读项目下的 .env
文件,导致了这次报错。只要把 .env
文件下的 base_url 删掉即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。