温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Localhost connection refused when integrating WireMock and JMeter
jmeter wiremock

其他 - 集成WireMock和JMeter时,本地主机连接被拒绝

发布于 2020-05-05 11:38:08

我正在尝试将Wiremock集成到Jmeter测试计划中,以便每次执行测试计划时,它将在开始时启动WireMock的实例,然后运行我概述的测试。我遵循了这个答案(https://stackoverflow.com/a/49130518/12912945),但是我遇到的问题是我总是会收到错误:

Response message:Non HTTP response message: Connect to localhost:8080 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect

从我看到的结果来看,即使在测试计划开始时在JSR223采样器中包含以下代码,Wiremock服务器也不会启动:

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("127.0.0.1", 8080);
        wireMockServer.start();
        StubMapping foo = stubFor(get(urlEqualTo("/some/thing"))
                .willReturn(aResponse()
                        .withStatus(200)
                        .withBody("Hello World")));
        wireMockServer.addStubMapping(foo);
    }
}

任何人都可以向我指出如何正确整合两者的正确方向,我尝试将其添加到类路径中,但是我觉得我没有正确地做到这一点,或者我错过了一些东西

谢谢!

查看更多

提问者
durol
被浏览
25
Dmitri T 2020-02-17 22:54

您正在定义main函数,但是我看不到您在哪里执行它。换句话说,您的Wiremock初始化代码根本不会执行。

您需要显式调用此main函数才能执行代码,要完成此操作,请将下一行添加到脚本末尾:

WireMockTest.main()

完成后,JSR223 Sampler将调用main函数中的代码,然后将启动Wiremock服务器。

另一个选择是删除这些class和函数声明,然后使用

import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.stubbing.StubMapping;
import static com.github.tomakehurst.wiremock.client.WireMock.*;

WireMockServer wireMockServer = new WireMockServer();
configureFor("127.0.0.1", 8080);
wireMockServer.start();
StubMapping foo = stubFor(get(urlEqualTo("/some/thing"))
      .willReturn(aResponse()
              .withStatus(200)
              .withBody("Hello World")));
wireMockServer.addStubMapping(foo); 

因为您在JSR223测试元素中定义的脚本不需要入口点

查阅Apache Groovy-为什么和如何使用它一文,以获得有关JMeter测试中Groovy脚本编写的更多信息。