- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个连接到外部第三方 API 的应用程序,最近 API 的测试实例并不是特别可靠。这会停止开发进度并将我们的构建管道变为红色,因此我想添加一个 HTTP 记录代理来阻止这种情况的发生。
我有 WireMock推荐,并尝试过它的record and play features ,它看起来确实非常好 - 它几乎是开箱即用的。我们只是简单地更改为外部服务配置的 URL,然后这样记录:
java -jar wiremock-standalone-2.3.1.jar \
--port 8080 \
--proxy-all="https://test-api.example.com/" \
--record-mappings \
--verbose
这会在当前工作目录中创建缓存文件夹,然后可以通过杀死记录器并切换到播放来切换到播放模式:
java -jar wiremock-standalone-2.3.1.jar \
--port 8080 \
--verbose
但是,要在实践中使用它,我需要设置一个通过测试回归包运行的应用程序实例,以记录大量 API 使用情况,并以每天一次作为开始。然后我需要停止记录器并将缓存文件复制到播放过程,然后重新启动播放过程。
这可能行得通,但感觉有很多移动部件,理想情况下我想同时运行播放和录制。如果需要新的 API 调用(由于自然的项目更改),这将允许自动刷新缓存,但默认情况下会在找到匹配项的地方播放。
这可能吗?我不是 Java 程序员,但假设如果要编写 WireMock 插件,它可能可用。如果这可以在控制台上完成,那就太好了,但是手册的措辞表明维护者认为播放和录制是分开的事情。
我确实想知道我是否可以切换到 Mountebank ,看起来像 it might support this , 然而事实证明 that play and record are separate modes here too .无论如何,我喜欢 WireMock 的入门简单,所以如果可能的话我想坚持使用它。
最佳答案
WireMock 目前还不能完全满足您的要求,但是:
1) 回放时可以使用--proxy-all
参数,不能使用--record-mappings
。这将导致任何与现有 stub 映射(记录的或其他方式)不匹配的请求被代理到实际服务。
2) 一个让你非常接近你所追求的解决方法是在你之后发送一个 POST
到 /__admin/mappings/reset
端点收集了一些新记录的映射。这会导致扫描文件系统并(重新)加载所有映射。
关于java - WireMock 播放和录音可以同时使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40743569/
我想使用 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,
我是一名优秀的程序员,十分优秀!