在自动化测试期间,使用邮递员/提琴手捕获来自本地服务的请求

时间:2020-05-25 19:05:15

标签: http postman fiddler

大家好,我正在Windows计算机上使用spock groovy n intellij运行一些自动化测试,以测试api。

设置如下: 被测试的服务在端口A本地运行。端口B上还有一个附加的模拟服务。

在我的测试场景中,被测试的服务将发布请求发送到模拟服务,该服务已配置为响应200来提供该服务发出指定的发布请求。 (模拟服务的状态通过有线模拟来控制)

我的一些测试失败了,但是当使用邮递员发出预期的投递请求时,我得到了预期的200条响应。

因此,我想捕获在测试运行期间被测试服务发送的帖子请求内容,以便我可以检查该内容并将其与手动发送的内容进行比较。

我试图通过在端口5555上设置邮递员代理并使用提琴手来捕获请求。 当我通过邮递员UI手动发出请求时,此方法工作正常,但在运行测试时却未捕获任何内容。 这是第一次尝试从本地服务捕获请求内容,并且想知道是否有人曾做过类似的事情或对如何解决此问题有任何建议

1 个答案:

答案 0 :(得分:0)

要通过 Fiddler 从 spock 测试中捕获流量,请在测试中添加以下内容,例如来自 setupSpec 方法

System.properties.putAll(['http.proxyHost':'localhost', 'http.proxyPort':'8888'])

要捕获从一项服务到其他端点的流量,您可以像这样启动您的服务

java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 -jar some_jar_file

要捕获到本地端点的流量,请将端点 url 中的 localhost 替换为您的计算机名称作为解决方法,因为 Fiddler 不会捕获本地流量。