我刚刚开始使用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/