【问题标题】:Jmeter: 443 failed to respondJmeter: 443 没有响应
【发布时间】:2018-06-14 22:31:57
【问题描述】:

我是 JMeter 的新手,所以要温柔。我有一个点击登录页面的简单测试计划。此时,它甚至没有登录,只是加载页面。问题是每次运行时,对页面上的一个 CSS 文件的请求会导致:

org.apache.http.NoHttpResponseException: example.com:443 failed to respond
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
    at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:286)
    at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:257)
    at org.apache.jmeter.protocol.http.sampler.hc.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:199)
    at org.apache.jmeter.protocol.http.sampler.MeasuringConnectionManager$MeasuredConnection.receiveResponseHeader(MeasuringConnectionManager.java:212)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
    at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:684)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:486)
    at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.executeRequest(HTTPHC4Impl.java:697)
    at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:455)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:2034)
    at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase$ASyncSample.call(HTTPSamplerBase.java:2002)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

如果我再次运行测试,所有其他请求都会成功,但这个文件每次都失败。

这是请求数据:

GET https://example.com/mysite/style/bootstrap.min.css
GET data:
Cookie Data:
JSESSIONID=0753E35583DE3C882E88BE4C37FCFB47; BIGipServerdemo-tomcat=654354624.51526.0000
Request Headers:
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate, br
Host: example.com

当我在 Chrome 或 Firefox 中加载此页面时,所有文件都会加载,包括此 CSS 文件,没有任何问题。如何修复此 NoHttpResponseException 以使此 CSS 文件(我假设更多)按预期返回?

【问题讨论】:

    标签: https jmeter


    【解决方案1】:

    此文件可能在您的browser cache 中,请尝试使用clean session 并使用浏览器开发人员工具检查请求并仔细检查该文件是否仍然存在。如果不是 - 这是您的应用程序部署的问题。如果是 - 我只能考虑使用 View Results Tree 侦听器和浏览器开发工具或外部嗅探器工具(如 Wireshark)比较 JMeter 和真实浏览器发送的请求

    作为一种解决方法,您可以通过将下一行添加到 user.properties 文件来禁用检查丢失的嵌入式资源

        httpsampler.ignore_failed_embedded_resources=true
    

    需要重新启动 JMeter 才能获取该属性。

    【讨论】:

      【解决方案2】:

      你应该检查HTTP_RequestRetrieve All Embedded Resources from HTML Files复选框

      告诉 JMeter 解析 HTML 文件并为文件中引用的所有图像、Java 小程序、JavaScript 文件、CSS 等发送 HTTP/HTTPS 请求

      因此您不需要对每个 CSS (作为浏览器)进行显式请求

      【讨论】:

        【解决方案3】:

        我在嵌入式资源和主要 HTTP 请求方面遇到了同样的问题。 禁用 HTTP 请求采样器中的“使用 KeepAlive”选项为我解决了这个问题。

        【讨论】:

        • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
        猜你喜欢
        • 2014-12-25
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多