【问题标题】:Debug proxy record requests/responses and mock sequence调试代理记录请求/响应和模拟序列
【发布时间】:2021-12-11 19:30:27
【问题描述】:

我需要记录 api 调用的序列,然后再次存根这个序列。

例如我的脚本通过这个代理到 test.com 并获得响应“1” - 代理记录请求 GET test.com 和响应“1”, 然后我使用这个序列将代理切换到存根模式,当我的脚本再次调用 test.com 时,它会从存根获得响应。

我不需要存根确切的 url,只需要响应队列,如果第二个响应将返回“2”,那么队列将是“1”,“2”,当两次调用 test.com 时,我必须得到记录的 1 和 2 .

也许有人知道可以做到这一点的工具?我知道查尔斯代理 - 但它似乎不能这样做。当然它可以远程映射等。但我不想总是手动编辑响应。

【问题讨论】:

  • API Simulator 支持Request Sequence Number Sampling,可以根据请求的序列号返回不同的响应。但是请注意,响应的更改必须反映在 simlet 的配置中,如果我正确理解问题(引用)“......我不想总是手动编辑响应”,这可能是不可取的。 (免责声明:我隶属于 API Simulator)
  • 我将此作为答案发布,但版主删除了它... Wiremock 似乎具有您需要的功能:wiremock.org/docs/record-playback

标签: debugging proxy mocking sequence stub


【解决方案1】:

@rst360,在Feather Finance,我们使用Cypress 来调试并随后在这些情况下自动化测试。

默认情况下,赛普拉斯将从 test.com 请求 GET,但您可以将来自 test.com 的响应保存在夹具文件中(在赛普拉斯,网络存根称为夹具)。然后,您可以使用 Cypress 的 intercept() 函数来指定应该拦截哪些给定的 test.com 调用并使用存根进行响应。

这里有一些关于如何使用 Cypress 来存根网络响应的线程:

如果您正在寻找一种工具来缓存您自己的服务器响应,我建议您使用 Redis。这个article 告诉你怎么做。

【讨论】:

  • 嗨@rst360,根据我对您似乎在问什么的最佳理解,我已尝试尽可能彻底地回答您的问题。如果您觉得我的回答不完整,请告诉我原因,我可以尝试使其更完整。
猜你喜欢
  • 1970-01-01
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 2019-01-10
  • 2023-04-02
相关资源
最近更新 更多