1.启动Jmeter后,在左侧测试计划节点,右键“添加”-》“线程”-》“线程组”
2.在新增的线程组节点上。右键“添加”-》“取样器”-》“TCP取样器”
3.在线程组节点上,再右键“添加”-》“监听器”-“察看结果树”
构建完成后如下图:
4.设置并发相关参数是在线程组中,线程数即为并发数,其他具体参数见附件,如下图:
5.在TCP取样器中,设置TCP请求的参数,主要设置的参数为:
(1)TCPClient classname:org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl
TCPClient classname 该参数一般有三个值设置:
- org.apache.jmeter.protocol.tcp.sampler.TCPClientImpl(以文本编辑器中的纯文本作为内容发送)
- org.apache.jmeter.protocol.tcp.sampler.BinaryTCPClientImpl(以文本编辑器中所编辑的16进制字符(hex)内容为基础转换为二进制的字节内容进行发送)
- org.apache.jmeter.protocol.tcp.sampler.LengthPrefixedBinaryTCPClientImpl(在BinaryTCPClientImpl基础上默认以发送内容的长度以字节前缀进行填充)
(2)服务器IP和端口号:输入自定义的即可
(3)End of line(EOL) byte value: 这个参数和服务器返回的数据有关,是数据器服务流的一个结束标识。没有设置EOL将会一直读到输入流结束为止。比如服务器返回的字符串是:abc},}符号在ascii码表中对应的10进制为125,这里就填125。
(4)要发送的文本,这里就填要发送的文本内容
6.点击Jmeter运行按钮
即可完成并发操作。
注:
1、可以找开发要入参报文,也可通过模拟器跑出入参报文。
2、入参报文把所有空格去掉,查入参报文内容字个数,填写至报文前方。
3、每更改一次入参长度都要重新统计。
4、如果响应报“系统错误”可通过查看服务器日志,修改入参报文里的 首部字节长度,直至日志里的入参报文能完全打印请求里的入参报文。
7、tcp测试的2个核心点
关于Jmeter的TCP测试,需要明确两个问题:
第一、发送给服务器的数据格式,是文本形式还是十六进制格式;
第二、一条数据的结束符是什么;
问题1涉及:到底用哪个TCPClient classname去发送数据。
问题2涉及:
-
(1)发送给服务端的数据,服务端是怎么判断客户端发送结束;
-
(2)服务端返回给客户端的数据,客户端如何知道服务端已经发送结束。
所以这就有客户端读数据的结束符号和服务端读取数据结束符号2个。
上面这些如果你不清楚的话,是需要你和开发去确认的。