【问题标题】:How to set End of Line byte value in TCP Sampler in Jmeter如何在 Jmeter 的 TCP 采样器中设置行尾字节值
【发布时间】:2019-10-29 22:28:38
【问题描述】:

使用 TCP 采样器时出现 ReadException。

   "Response message: org.apache.jmeter.protocol.tcp.sampler.ReadException: 
    Error reading from server, bytes read: 518"

我正在尝试使用 TCP 采样器测试一些响应,但无法确定必须设置的行尾字节值。

2019-10-28 10:42:01,014 ERROR o.a.j.p.t.s.TCPSampler: 
org.apache.jmeter.protocol.tcp.sampler.ReadException: Error reading from server, bytes read: 518
    at org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl.read(TCPClientImpl.java:131) ~[ApacheJMeter_tcp.jar:4.0 r1823414]
    at org.apache.jmeter.protocol.tcp.sampler.TCPSampler.sample(TCPSampler.java:402) [ApacheJMeter_tcp.jar:4.0 r1823414]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490) [ApacheJMeter_core.jar:4.0 r1823414]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416) [ApacheJMeter_core.jar:4.0 r1823414]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250) [ApacheJMeter_core.jar:4.0 r1823414]
    at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
    at java.net.SocketInputStream.socketRead(Unknown Source) ~[?:?]
    at java.net.SocketInputStream.read(Unknown Source) ~[?:?]
    at java.net.SocketInputStream.read(Unknown Source) ~[?:?]
    at java.net.SocketInputStream.read(Unknown Source) ~[?:?]
    at org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl.read(TCPClientImpl.java:114) ~[ApacheJMeter_tcp.jar:4.0 r1823414]
    ... 5 more

预计会看到来自服务器的响应数据的 200 响应代码。但是接收到正确的响应数据与“

Response code: 500
Response message: org.apache.jmeter.protocol.tcp.sampler.ReadException: Error reading from server, bytes read: 518

作为响应代码和消息"

尝试使用以下设置

Re-use Connection--Yes
Close Connection--Yes
Set No Delay--No
SO_LINGER-Blank
End of Line: 128

【问题讨论】:

    标签: tcp jmeter jmeter-4.0


    【解决方案1】:

    查看bytes read: 518 我希望您从正在测试的 TCP 服务器获得响应。

    如果服务器强制关闭连接并且您期望这种行为,您可以“告诉”JMeter 将 TCP 采样器视为成功。

    1. Response Assertion 添加为失败的 TCP 采样器的子项
    2. 配置如下:

      • 要测试的字段:Response Code
      • 勾选Ignore Status
      • 模式匹配规则:Equals
      • 要测试的模式:500

    更多信息:Response Assertions in JMeter 3.2 - New and Improved

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多