JMeter TCP采样器无响应数据

时间:2019-03-29 18:58:45

标签: jmeter jmeter-4.0 iso8583

我正在通过JMeter(模拟POS)测试交易ISO8583,并且我要发送购买(mti = 200),然后我必须发送其确认书(mti = 202)。当我发送202消息时,TCP服务器没有响应任何数据。

所以我通过JMeter生成了一个测试套件,每个请求都是一个TCP采样器。

我可以执行已购买的TCP采样器,而不会出现问题。但是,当我发送带有确认的采样器时,TCP采样器希望有一个响应,但服务器不会发送该响应,因此我的JMeter Test Suite中出现错误。

TCPClient类名称必须为 LengthPrefixedBinaryTCPClientImpl 。如果没有,它将无法正常工作。

这是购买的TCP采样器:

purchase

这是具有确认信息的TCP采样器:

ack

这是结果树:

result tree

JMeter日志中出现以下错误:

2019-03-29 15:35:00,549 ERROR o.a.j.p.t.s.TCPSampler: 
org.apache.jmeter.protocol.tcp.sampler.ReadException: 
    at org.apache.jmeter.protocol.tcp.sampler.LengthPrefixedBinaryTCPClientImpl.read(LengthPrefixedBinaryTCPClientImpl.java:108) ~[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(Thread.java:748) [?:1.8.0_181]
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_181]
    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_181]
    at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_181]
    at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_181]
    at org.apache.jmeter.protocol.tcp.sampler.LengthPrefixedBinaryTCPClientImpl.read(LengthPrefixedBinaryTCPClientImpl.java:91) ~[ApacheJMeter_tcp.jar:4.0 r1823414]
    ... 5 more

所以我想要具有确认的TCP采样器不期望响应并且不显示错误。

有可能吗?

0 个答案:

没有答案