问题标签 [wiremock-standalone]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
188 浏览

wiremock - WireMock 场景 - 部分修改并发请求的响应映射

我使用 WireMock 作为通过 JSON 配置的独立服务。假设我有一个应用程序,您可以在其中创建、删除和查看笔记。我想测试对它的并发访问,所以我的测试将有多个线程来执行应用程序。我的目标是让 POST/DELETE 修改 GET 返回的响应。每个 POST/DELETE 的结果可能(应该)对其他线程可见,但不允许修改它们所做的工作

我设置了一个这样的场景:

  1. 在 POST 注意1
    • GET 返回 note1
  2. 删除后
    • GET 什么都不返回

现在我想测试多个并发请求,所以:

  1. 在 POST 注意1
    • GET 返回 note1
  2. 在 POST 注意2
    • GET 返回note1、note2
  3. 在删除注释1
    • GET 返回 note2

有没有办法通过场景/响应模板或其他方式来实现这一点,而不必在我的测试中即时修改 GET 的响应映射?

编辑:我目前的解决方案是从测试代码中动态编辑响应映射。因此,每个线程都会读取 GET 的当前响应映射,根据完成的工作对其进行修改,然后重新发布。虽然这可行,但我认为它不太理想,因为它需要将被测业务逻辑与用于执行测试的工具的细节混为一谈。

0 投票
3 回答
4460 浏览

docker - 带有 Wiremock 的 Docker 容器不会刷新卷中的更改

我根据https://github.com/rodolpheche/wiremock-dockerDockerfile中的示例创建了这个并将其复制到/my/project/wiremock目录中:

然后我在/my/project/目录中创建了以下docker-compose.yml文件

/my/project/ wiremock /stubs中的子目录是映射__files

当我执行docker-compose up时,docker 容器可以工作,我可以提出一些可以正常工作的请求。但我的问题是,存根目录中的更改不会自动刷新,然后每次创建新的wiremock存根或更新现有存根时我都需要重新启动容器。

你知道我做错了什么吗?在不重新启动容器的情况下继续工作会很好。

谢谢!!!!

0 投票
0 回答
34 浏览

wiremock - 禁用请求日记,无需重新启动

我想代理请求,然后使用 Wiremock 对它们进行快照。所以我必须request-journaling启用。但是对于后续运行,拍摄快照后,我真的不需要这个功能,有没有办法切换配置,而无需重新启动 Wiremock 实例。(注意:这是出于性能原因。我也知道 max_journal_entries 参数,这在这种情况下非常有用,但我想知道是否可以完全禁用它们)

0 投票
1 回答
1252 浏览

wiremock - 我们如何在 WireMock 中忽略查询参数的顺序

假设我有端点: /url?number="321"&name="TEST"但是当我们匹配一个请求时,我们希望忽略查询参数的顺序(忽略查询参数的顺序)

在这种情况下,如果在查询参数标记中传递查询参数,那么我将不会区分请求,因为相同的端点但多个查询参数。

0 投票
1 回答
393 浏览

wiremock - 在wiremock映射json BodyPatterns中只有最后一个比较发生

我正在使用wiremock-jre8-standalone-2.27.0 jar 来模拟API。我的映射 json 看起来像:

可以看出里面有4个matchesJsonPath,bodyPatterns但每次只比较最后一个matchesJsonPath($[2].quantity== 2784)。我是否更改了请求正文中的其余内容,例如前三个失败matchesJsonPath并通过 Postman 发送请求,我仍然得到响应。有没有办法让 Wiremock 检查所有条件?

0 投票
0 回答
207 浏览

wiremock - Wiremock,使用显示主机的 absoluteUrl 获取请求映射

我正在使用 http://localhost:9001/__admin/mappings 检查所有存根。请您告诉我们是否可以在此路径 http://localhost:9001/__admin/mappings 中添加一个标志,它可以列出所有具有 absoluteUrl 的映射,而不是 urlPathPattern。

我看到请求不匹配。所有请求都匹配,但必须弄清楚主机是否也匹配。

感谢帮助

0 投票
0 回答
41 浏览

java - 在wiremock中生成特定时间

在 Wiremock 中,我需要生成特定的时间。我需要 yyyyMMdd 格式的 Wiremock 0-59 分钟的差异。这可能吗?

我试过{{now offset = '83160 seconds' format='yyyyMMdd'}}了,但现在能够得到想要的结果。

您能建议我们如何实现这一要求吗?

0 投票
1 回答
1882 浏览

java - Wiremock 模板 fixedDelayMilliseconds

我试图在延迟后在wiremock中生成响应,该延迟来自传入的请求。例如,请求中用户的姓氏是“delay_10000”然后延迟 10000 毫秒,或者 delay_20000 然后延迟 20000 ......

任何人都可以确认哪些字段可以被模板化。doco 建议“响应标头和正文”,以及其他地方的 bodyFileName (我有工作),但它没有说明其他响应字段是否可以模板化。

目前我看到

首先,我可以看到它在哪里被捕获,但不清楚它在哪里被抛出 https://github.com/tomakehurst/wiremock/blob/master/src/main/java/com/github/tomakehurst/wiremock/standalone/JsonFileMappingsSource。爪哇#L121

其次,我不清楚我是否只是错误地驱动了wiremock,这不可能通过响应转换器实现,但可以通过扩展和“响应定义转换”(http://wiremock.org/docs/extending -wiremock/ )

我可以用一组固定的延迟来解决这个问题——但如果它是动态的会更好

帮助表示赞赏!

0 投票
0 回答
323 浏览

json - 使用 WireMock 对 POST 请求使用 JSON 模式检查

我正在使用 WireMock (Docker) docker.io/rodolpheche/wiremock:2.27.2-alpine。我通过 Docker Compose 进行设置,一切正常。

我正在尝试设置一个存根/映射来根据相应的 JSON 模式检查 JSON 输入。基本上,这是存根/映射:

...这是 JSON 模式的(摘录):

有没有办法用 WireMock 来完成这个?我一直在寻找类似的东西。我发现更接近的是使用 JSON 路径,但这与检查正确的模式并不完全相同 - 并且可能是长 JSON 请求的乏味任务。

我搜索了 WireMock 的 GitHub 存储库中的问题,但我只能看到这个(顺便关闭)。尽管如此,我还是看不到一种方法可以完全按照我的要求进行。我只有一个 JSON 模式作为输入。

0 投票
0 回答
57 浏览

java - Wiremock 不返回保存的响应

我有一个wiremock 独立服务器,它代理所有请求,即使响应已经保存在根目录中。

这是我的配置:

这是我的存根映射配置,此代码仅在 application.properties 上的“代理模式”属性为 true 时运行。我的存根映射:

如果我将“代理模式”设置为 false,它会返回保存的响应。

我想要的是代理未保存的请求并返回已保存的响应。

我错过了什么?

[更新]

服务器重启后返回保存的响应。可以在运行时保存并返回保存的响应吗?