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

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

我也有一个寻找这个字符串的响应断言:

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

断言设置为适用于主样本和子样本,要测试的响应字段设置为“文本响应”。

将模式匹配规则设置为等于,我得到:
    Device Server Sampler
    Device Server Response Assertion : Test failed: text expected to equal /

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

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

/

如果我将模式匹配设置为“包含”,则会得到:
Device Server Sampler

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

JMeter似乎并不喜欢\r\n,因此我运行了相同的测试,从两侧的字符串中删除了这些内容,但是套接字一直保持打开状态,直到我停止测试为止。

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

最佳答案

TCP Sampler中,我需要将End of line(EOL) byte value设置为10,这是\n的十进制字节值

关于sockets - 发送数据后,JMeter TCP Sampler不会关闭套接字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37702682/

10-10 18:35
查看更多