HttpRunner4.0 踩坑 - 报错 404 abort running due to failfast setting: step validation failed

记录 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 状态码。

排查过程

  1. 接口请求如果返回的是 404 ,那么就需要检查请求的 url 是不是填写正确。
  2. 如果 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 删掉即可

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...