首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空手道:空手道中是否有一个http请求钩子,它会在每次API调用后自动调用,我可以修改谁的行为?

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

Stack Overflow用户
提问于 2019-11-28 01:45:46
回答 2查看 1.6K关注 0票数 3

我想要一个通用的实现来将: request-body,request-method & response-body写入到输出文件中,用于我在任何空手道功能文件中发出的所有HTTP请求。

我已经通读了文档,我找到的最接近的选择是afterScenario挂钩。但是,当我想在同一场景中进行多个API调用时,这对我没有帮助。

我还尝试通过将karate.prevRequest对象传递给我编写的java函数来使用它。虽然这有助于我捕获我想要的信息,但我必须在每次API调用后继续调用我的java函数,这是我不想做的。

我希望能够编写一个在每次API调用后调用的钩子,并使我能够访问request-body、request-headers、response-headers、response-body、request-method和request URL。

这应该是相当直截了当的,显然我似乎遗漏了一些东西。

EN

回答 2

Stack Overflow用户

发布于 2019-11-28 08:15:52

首先,我个人认为这是对空手道的滥用,你似乎对报告比实际做测试更感兴趣。花点时间考虑一下。空手道有很好的报告集成,你只是在浪费你的时间,在我非常诚实,真诚的意见。没有人要求这样做。

不管怎么说。在0.9.5.RC4中有一个新的ExecutionHook,详细信息在这里:https://github.com/intuit/karate/issues/970#issuecomment-557443551

您可以实现afterStep,看看它是否是method步骤,然后执行以下操作。如果您需要更改,请打开一个问题。另请参阅:https://stackoverflow.com/a/60944060/143475

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

编辑:在许多情况下,afterScenario可能就足够了,请注意,您可以调用任何空手道功能,这意味着您可以执行HTTP请求:https://stackoverflow.com/a/51467470/143475

编辑- hooks API已更改为1.0:https://github.com/intuit/karate/wiki/1.0-upgrade-guide

票数 3
EN

Stack Overflow用户

发布于 2019-12-10 00:59:48

ExecutionHook支持很多不同的用例。

可以中止或更改步骤

可以监听请求和响应

有关如何使用ExecutionHook的信息,请参阅ExecutionHookExampleTest

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59075792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档