说在前面,博主还是测试小白,压力测试虽然不是第一次做,但之前我对jmeter性能测试的理解是,jmeter是将压测的通用功能都模块化了,我们使用jmeter进行压测的时候就只需要像小孩子玩搭积木那样,把流程搭建起来,然后压一下出一下报告就over了。当然这个理解我现在还是觉得还是没什么毛病,但如果只是停留在这个阶段,博主觉得你也就只能做一做简单的压力测试,一旦复杂了就搞不定了。这次我接到的任务是测一个socket的通信性能,我也是按着这个思路来的,用TCP Sampler,这个TCP取样器需要先明确服务器接收的是二进制还是普通报文,如果是二进制报文,那就麻烦了,需要将报文转化成16进制,然后再进行输入。。。我弄了一整天,也算搞定了吧,但变量根本没法进行输入,试想16进制的报文中如何设置变量???可能也有方案,但我探索了一天,最后决定放弃这个方案,采用自己编写java请求的方案。
说这么多,其实博主想表达一个自己对测试的理解,测试说白了就是谁过来教一教就能做的工作,但如果想继续发展,重中之重还是代码能力,只有代码能力强了,你的思路才能宽,遇到问题才能有更多的解决方案。当然博主只是测试小白,java都不敢说会,只不过知道如何调用方法,需要继续学习。
好了,言归正传,socket通信压测,我做的时候走了一个弯路,下载了websocket插件,然后发送请求,发现。。。服务器说这是http请求。。。然后我去百度,原来。。。socket和websocket就相当于周杰和周杰伦一样,没有毛线关系。。。
最后我采用了java请求,jmeter的java请求的编写还是很简单的,只要设置一下入参,运行方法等,这个可以自行百度查看,分享我学习的一个链接https://www.cnblogs.com/andashu/p/6296930.html,讲的很详细,一看就懂。
其实博主就啰啰嗦嗦的说了些废话,实质的东西啥也没说,哈哈。关键是思路吧,别像我一样走弯路,感觉对小白还是有帮助的,因为我也是小白,呵呵