- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Wiremock 2.24.1 根据请求路径动态返回不同的主体文件,如果在本地找不到,我想调用外部资源(作为代理)。
我正在使用这个映射文件:
{
"priority": 1,
"request" : {
"urlPattern" : "/rest/v2/name/.*",
"method" : "GET"
},
"response" : {
"status" : 200,
"bodyFileName" : "rest_v2_name_{{request.requestLine.pathSegments.[3]}}_body.json",
"headers" : {
"Content-Type" : "application/json;charset=utf-8"
},
"transformers": ["response-template"]
}
}
我有一个名为 rest_v2_name_springfield_body.json 的文件,其中包含此内容
[
{
"name": "Springfield",
"now": "{{now}}",
"yesterday"; "{{now offset='-1 days' format='yyyy-MM-dd HH:mm:ssZ'}},
"tomorrow"; "{{now offset='1 days' format='yyyy-MM-dd HH:mm:ssZ'}}
}
]
当我打电话curl http://localhost:8099/rest/v2/name/springfield时返回:
[
{
"name": "Springfield",
"now": "2019-08-17T00:23:12Z",
"yesterday"; "2019-08-15 21:23:12-0300,
"tomorrow"; "2019-08-17 21:23:12-0300
}
]
如果我使用另一个路径值调用(例如 http://localhost:8099/rest/v2/name/brasil ),我希望由其他映射处理:
{
"priority": 10,
"request" : {
"urlPattern" : "/rest/v2/name/.*",
"method" : "GET"
},
"response" : {
"proxyBaseUrl" : "http://restcountries.eu"
}
}
但不是回答 http://restcountries.eu/rest/v2/name/brasil 的响应,我收到此消息的本地 HTTP 500 错误(我相信它来自第一个匹配的映射):
java.io.FileNotFoundException: ./__files/rest_v2_name_brasil_body.json
我尝试过这个替代方案
有没有办法不用编码就能解决这个场景?
最佳答案
无论代理开/关
如何,Wiremock 将始终遵循优先级。
Considering that you have the same request pattern,
Case-I : When you have
Proxy(brasil) at priority 1
andstub-mapping(spingfield) at priority 10
: You will be getting all the responses through Proxy only. There is no failover check for other mappings kind of thing.Case-I : When you have
Proxy(brasil) at priority 10
andstub-mapping(spingfield) at priority 1
: You will be getting the same response as stub-mapping you have configured since every request will be going to satisfy thespringfield
rule.
要解决这个问题,您需要在代理上记录每个请求。
停止录制后,您可以检查映射并根据您的要求添加其他映射!
关于java - Wiremock - 第一次映射错误时重定向到代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57532559/
我想使用 HTTP 客户端测试我们的应用大量的数据。是否可以创建无限长或几千兆字节的长度使用 WireMock 输出而不分配字节数组或具有该大小的字符串? 据我所知ResponseDefinition
我正在尝试使用以下 stub 命中 WireMock,但似乎查询参数没有匹配。这是回应: Request
我正在尝试测试我的代码,该代码具有对 HTTP 服务器的底层 GET 调用。 我正在尝试使用 WireMock ,并基于“入门”我有以下代码: @Rule public WireMockRule wi
我是 wiremock 的新手,想创建永久的自定义 stub 。我能够通过运行独立的 wiremock 实例并使用 curl 命令发送发布请求来创建 stub 来创建 stub 。这工作正常,但只要我
我正在使用 wiremock-jre8-standalone-2.27.0 jar 来模拟 API。我的映射 json 看起来像: { "request": { "url": "/sam
我已经实现了一个带有示例 REST/HTTP 请求模拟的基本 WireMock。服务器代码实现如下。 使用此代码,当我从 Postman 发出 GET 请求(即 GET http://127.0.0.
我使用 asp.net core 2.0 + wiremock.net 开发了一个项目。目前,我只能处理“__admin/mappings”目录下的 json 文件。但是,我有几个 json 文件,因
我正在尝试使用 WireMock 创建动态模拟。我有一种情况,如果我指定 URL 如下: http://localhost:8089/api/account/abc@abc.com 那么我应该收到如下
我在wiremock中定义了一个https stub ,如下所示:- public class HttpsMockMain { public static void main(String[]
假设我有端点:/url?number="321"&name="TEST",但是当我们匹配一个与请求匹配的请求时,我们要如何忽略查询参数的顺序(忽略查询参数的顺序) 在这种情况下,如果在查询参数标签中传
我正在使用 wiremock 来模拟 http 服务器,我正在返回来自 json 文件的响应(使用 withBodyFile 方法)。 现在我想根据请求参数选择并返回响应json文件。对于下面的示例,
我看到有关于在以独立方式运行wiremock时启用详细日志记录的说明,网址为http://wiremock.org/running-standalone.html (请参阅--verbose)。 从
我有一个运行良好的模拟 stubFor(WireMock.get("/varela/offerszones?channel=123").willReturn(aResponse()
我尝试使用以下 json,但 wiremock 无法识别我的更改。我看了wiremock的文档,看到他们说:JSON相等匹配是基于JsonUnit的,因此支持占位符。我也尝试使用 JDK 8 和 JD
我正在尝试使用以下要求比较Soap UI和Wiremock的功能(对于我的项目中的大多数情况来说,这是很现实的)。 目标是为货币价格服务创建一个模拟。要求: 在以下位置可访问 mytesthost/p
在特定数量的先前响应之后,是否可以配置 wiremock 以在相同的 URL 和相同的请求上发送不同的响应? For example: 1st request -> 503 response 2nd
在大多数集成测试中,我使用 spring-boot-test(2.1.9.RELEASE) 和 spring-cloud-contract-wiremock(2.0.2.RELEASE)。该测试基于以
我想为以下 e2e 场景添加一个测试: 我的应用程序正在通过内部代理服务器向外部服务发出 Web 请求,代理服务器操作请求正文,将请求转发到目标主机并返回返回的响应。 比如说 我向 external.
在旧版本的 Wiremock 中,我们可以将 te queryString 附加到匹配的 url,如下所示: wireMockRule.stubFor(get(urlPathEqualTo("/res
我正在尝试使用 Wiremock 2.24.1 根据请求路径动态返回不同的主体文件,如果在本地找不到,我想调用外部资源(作为代理)。 我正在使用这个映射文件: { "priority": 1,
我是一名优秀的程序员,十分优秀!