发送数据后,JMeter TCP Sampler不会关闭套接字

时间:2016-06-08 12:35:44

标签: sockets tcp jmeter

我刚刚开始使用JMeter。 我正在尝试在我的一台服务器上运行TCP采样器。 TCP采样器设置为所有默认值,包括我的IP,端口号和要发送的文本。

服务器接收文本并按预期响应。 但是,一旦JMeter收到响应,它就不会关闭连接;它只是等到我手动停止测试,此时服务器日志显示客户端已断开连接。

我还有一个响应断言,它会查找这个字符串:

{"SERVER":[{"End":200}]}\r\n

Assertion设置为应用于主样本和子样本,要测试的响应字段设置为Text Response。

将模式匹配规则设置为Equals,我得到:

    Device Server Sampler
    Device Server Response Assertion : Test failed: text expected to equal /

****** received  : {"SERVER":[{"End":200}]}[[[
]]]

****** comparison: {"SERVER":[{"End":200}]}[[[\r\n]]]

/

如果我将模式匹配设置为Contains,我得到:

Device Server Sampler

我现在只能假设是通过? 但无论我如何尝试它,JMeter永远不会关闭套接字,所以当我自己停止测试并在表中查看结果时状态被标记为警告,即使已经接收到正确的字节数,并且数据是正确的。

JMeter似乎不喜欢\r\n所以我运行相同的测试从​​两侧的字符串中删除那些,但是套接字仍然保持打开状态,直到我停止测试。

有任何想法可能是什么问题?

1 个答案:

答案 0 :(得分:2)

TCP Sampler我需要将End of line(EOL) byte value设置为10,这是\n

的十进制字节值