• 使用两个 ThreadGroup,第一个 ThreadGroup 跑 1 接口,第二个 ThreadGroup 跑 2 接口,然后在 TestPlan 面板勾选 “Run Thread Groups consecutively(i.e. one at a time)”,即按顺序一次跑一个线程组,第一个线程组跑完再跑第二个线程组。

  • 图挂了

  • 本地管理 Mock 数据也是一种使用方式,我们是在平台上管理 Mock 数据,数据存放在数据库。如果 Mock 数据不需要根据测试用例上下文动态生成,其实也可以提前通过界面创建好,用例里通过 Mock ID 引用来动态更新 Mock 服务数据。

  • 1、主要使用场景上的区别:

    • Charles/Fiddler 的主要使用场景是正向代理,拦截查看客户端发送的请求,也可以修改客户端的请求或服务器的响应信息。这点 Wiremock 也可以做到,只要启动时加上 --enable-browser-proxying 参数即可。
    • WireMock 的主要使用场景是虚拟服务,比如模拟银行的服务,请求链路为客户端(比如手机)- 网关 - 服务端 - 银行测试环境服务端,Wiremock 可以替换这里的银行测试环境服务端。

    2、Mock 规则上的区别:

    在 Mock 规则的编写上,Wiremock 是比 Charles/Fiddler 更为方便的,支持多种请求匹配模式和响应模板。可以直接代理转发或流量透传。Mock 规则的管理上也更方便。

    3、抓包上的区别:

    但如果只是查看客户端请求响应信息,那么 Charles/Fiddler 更为方便强大,有多种过滤和显示方式,同时请求数据实时渲染。

    4、性能上的区别:

    如果要寻求一个虚拟服务工具,虽然 Charles/Fiddler/Anyproxy 这类工具也可以做到,但性能上有很大的损耗。Wiremock 作为专门的虚拟服务工具,一般服务端直连虚拟服务,省去中间代理环节,且所有 Mock 规则都存在内存,处理更高效。