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

Automated tests 空手道:空手道中是否有一个http请求钩子,在每次API调用后自动调用,我可以修改它的行为?,automated-tests,karate,web-api-testing,intuit,Automated Tests,Karate,Web Api Testing,Intuit,我想要一个通用的实现,将:request-body、request-method和response-body写入一个输出文件,用于我在任何karate功能文件中发出的所有HTTP请求 我已经阅读了文档,找到的最接近的选项是钩子。但是,如果我想在同一场景中进行多个API调用,这对我没有帮助 我还尝试使用karate.prevRequest对象,将其传递给我编写的java函数。虽然这有助于捕获所需的信息,但每次API调用之后,我都必须继续调用java函数,这是我不想做的 我希望能够编写一个钩子,在每

我想要一个通用的实现,将:request-body、request-method和response-body写入一个输出文件,用于我在任何karate功能文件中发出的所有HTTP请求

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

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

我希望能够编写一个钩子,在每次API调用之后调用它,并让我能够访问请求体、请求头、响应头、响应体、请求方法和请求URL


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

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

无论如何。0.9.5.RC4中有一个新的
ExecutionHook
,详情如下:

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

编辑:刚刚记住-在
develope
分支中,我们添加了一种截取所有请求和响应的方法:-将很高兴收到您的反馈,看看我们是否可以将此概念与上述挂钩合并-或者根据需要改进接口

编辑:在许多情况下,赛后的
可能就足够了,请注意,您可以调用任何空手道功能,这意味着您可以执行HTTP请求:


编辑-hooks API已更改为1.0:

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

无论如何。0.9.5.RC4中有一个新的
ExecutionHook
,详情如下:

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

编辑:刚刚记住-在
develope
分支中,我们添加了一种截取所有请求和响应的方法:-将很高兴收到您的反馈,看看我们是否可以将此概念与上述挂钩合并-或者根据需要改进接口

编辑:在许多情况下,赛后的
可能就足够了,请注意,您可以调用任何空手道功能,这意味着您可以执行HTTP请求:


编辑-hooks API已更改为1.0:

执行钩子
支持许多不同的用例

可以中止或更改步骤

请求和响应可以被嗅探


请参见如何使用
ExecutionHook

ExecutionHook
支持许多不同的用例

可以中止或更改步骤

请求和响应可以被嗅探

请参见关于如何使用
ExecutionHook