空手道:空手道中是否有一个http请求钩子,在每次API调用后都会自动调用它,并且我可以修改其行为?

问题描述 投票:1回答:1

我想要一个通用的实现,将我在任何一个空手道功能文件中发出的所有HTTP请求的请求体,请求方法和响应体写入输出文件。

我已经阅读了文档,发现的最接近的选项是afterScenario钩子。但是,如果我想在同一场景中进行多个API调用,这对我没有帮助。

我还尝试通过将karate.prevRequest对象传递给我编写的java函数来使用它。尽管这可以帮助我捕获所需的信息,但我必须在每次API调用之后继续调用我的java函数,这是我不想做的。

我希望能够编写一个在每次API调用后都会被调用的钩子,并使我能够访问请求正文,请求标头,响应标头,响应正文,请求方法和请求URL。

这应该很简单,很明显我似乎在这里遗漏了一些东西。

automated-tests karate web-api-testing intuit
1个回答
0
投票

[首先,我个人认为这是对空手道的滥用,与实际测试相比,您似乎对报告更感兴趣。花点时间考虑一下。空手道具有出色的报告集成功能,根据我非常真诚的真诚意见,您正在浪费时间。没有人要求这个。

反正0.9.5.RC4中有一个新的ExecutionHook,详细信息在这里:https://github.com/intuit/karate/issues/970#issuecomment-557443551

您可以实现afterStep,查看它是否是method步骤,然后执行此操作。如果需要更改,请打开一个问题。

编辑:刚刚记住了-在develop分支中,我们添加了一种拦截所有请求和响应的方法:https://twitter.com/karatedsl/status/1195240779213496320-将很高兴获得您的反馈,并查看我们是否可以将此概念与上面的钩子合并-或改进接口(如果需要)

© www.soinside.com 2019 - 2024. All rights reserved.