可以JMeter模拟HTTP请求

use*_*900 4 jmeter jmeter-plugins

我想嘲笑的HTTP请求,这意味着发送实时请求真实服务器,但忽略(不等待),并覆盖有假响应的响应,

JMeter有许多工具虽然接近但不够,

DummySampler插件已关闭,但并未真正发送请求,

一个旧的答案直接指向Mirror Server,这似乎与特定的API请求和响应无关.

JMeter不模拟服务器.

话虽如此,JMeter 2.3有一个内置的镜像服务器 - 它接受任何HTTP请求并响应包含请求详细信息的页面.

如果服务器B不关心服务器C发回的内容,那么您可以使用它来"模拟"服务器C.

通过添加运行时控制器1秒并更新响应数据忽略HTTP响应的答案是一个有问题的解决方法,但可以工作.

插件中是否有更好的选项或并行执行其他工具?

打开JMeter的增强是否相关,如果是,它应该改进HTTP请求还是作为模拟HTTP请求的新采样器?运行时控制器是否只支持发送和停止等待响应(例如使用0秒)?

Dmi*_*i T 6

最简单的选择就是WireMock,它非常强大和灵活.

您可以通过将WireMock jar(以及依赖项)添加到JMeter Classpath使用Groovy语言JSR223测试元素运行WireMockServer来将其与JMeter集成.

如果您对Groovy不太满意,可以使用OS Process Sampler将WireMock作为独立的Java应用程序运行


import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.stubbing.StubMapping;

import static com.github.tomakehurst.wiremock.client.WireMock.*;

public class WireMockTest {

    public static void main(String[] args) {
        WireMockServer wireMockServer = new WireMockServer();
        configureFor("0.0.0.0", 8080);
        wireMockServer.start();
        StubMapping foo = stubFor(get(urlEqualTo("/wiretest"))
                .willReturn(aResponse()
                        .withStatus(200)
                        .withBody("Hello World")));
        wireMockServer.addStubMapping(foo);
    }
}
Run Code Online (Sandbox Code Playgroud)