我想要一个通用的实现来将: 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。
这应该是相当直截了当的,显然我似乎遗漏了一些东西。
发布于 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
发布于 2019-12-10 00:59:48
https://stackoverflow.com/questions/59075792
复制相似问题