我想要一个常见的实现,将我在任何空手道功能文件中发出的所有HTTP请求的请求体,请求方法和响应体写入输出文件中。
我已经阅读了文档,发现最接近的选项是afterScenario钩子。但是,如果我想在同一场景中进行多个API调用,这对我没有帮助。
我还尝试通过将karate.prevRequest
对象传递给我编写的java函数来使用它。虽然这可以帮助我捕获所需的信息,但我每次调用API后都必须继续调用Java函数,这是我不想做的。
我希望能够编写一个在每次API调用后都会被调用的钩子,并使我能够访问请求正文,请求标头,响应标头,响应正文,请求方法和请求URL。
这应该是相当简单的,显然我似乎在这里丢失了一些东西。
答案 0 :(得分:3)
首先,我个人认为这是对空手道的滥用,与实际测试相比,您似乎对报告更感兴趣。花点时间考虑一下。空手道具有出色的报告集成功能,根据我非常真诚的真诚意见,您正在浪费时间。没有人要求这个。
无论如何。 0.9.5.RC4中有一个新的ExecutionHook
,详细信息在这里:https://github.com/intuit/karate/issues/970#issuecomment-557443551
您可以实现afterStep
,查看它是否为method
步骤,然后执行此操作。如果需要更改,请打开一个问题。
编辑:刚刚想起-在develop
分支中,我们添加了一种拦截所有请求和响应的方法:https://twitter.com/karatedsl/status/1195240779213496320-很高兴获得您的反馈,并看看我们是否可以将这一概念与上面的钩子-或根据需要改进界面
答案 1 :(得分:1)