全网最详细,Jmeter性能测试-性能进阶, 多协议实战Websocket/Dubbo(七)


前言

Jmeter是目前主流的性能测试工具,原因除了他是开源的、免费的之外,还有它的拓展性非常强。Jmeter默认使用的协议是Http/HTTPS协议,但这并不是唯一的协议,通过加载插件,可以让Jmeter支持更多协议的脚本开发。

webservice(soap)协议

webservice是一个web的应用程序,使用xml想外界暴露可供调用的API接口。

webservice的接口标准:

SOAP(simple Object Access Protocol)是使用 http + xml的方法进行传输。;
UDDI((UnviversalDescription ,Discovery,andIntegration));
WSDL(Web Service Description Language),描述语言,基于XML;

soap是基于XML的简易协议,可使应用程序在Http之上进行信息交换。而XML本身是一种用于传输和存储数据的一种文本文件。

脚本编写
由于soap接口是使用Http+xml的,所以在jmeter中,使用http取样器也可以使用,只是消息体数据中要填入的是xml

请添加图片描述

上图的请求发起的是soap1.1版本的,soap1.1和1.2中最大的区别就是soap1.1版本的请求头必须要填SOAPAction

请添加图片描述

请添加图片描述

其次,1.1和1.2版本的请求体,xml格式的标签也略有不同。
soap1.2版本的节点名称是soap12, 而1.1时soap

请添加图片描述

Websocket 协议

websocket协议是基于TCP的一种新的网络协议,它实现了客户端和服务端全双工通信,即允许服务器主动向客户端发送消息。

websocket与http都是使用tcp协议,它们之间的区别:

http:只能客户端向服务端发起请求,服务端收到请求后进行处理再原路返回。
websocket:除了客户端可以想服务端发起请求之外,服务器也能主要想客户端发送消息。

举个例子,有些app在连接网络后,你没有做任何操作,它也会向你推送消息。
不过推送消息这个不止websocket可以做,mq也可以,这里只是说websocket支持。

与http协议族一样,websocket协议族也有两个:
ws
wss: ws + ssl证书,加密传输

websocket和socket不是同一个东西;
websocket是一个通讯协议,接口是对外暴露的;
socket是代码层面上的调用;

引入插件
安装WebSocket Samplers by Peter Doornbosch

请添加图片描述

脚本编写
websocket的取样器有以下几个:

websocket closc:关闭websocket
websocket open connection :建立一个websocket
websocket ping/pong: 测试websocket协议是否连通
websocket single read samplcr:客户端从服务端获取响应
websocket single write sampler :客户端向服务端发请求

websocket request-response sampler:同时具备向服务端发请求和获取响应的功能

建立连接
填入IP、端口、路径即可

请添加图片描述

发起请求
默认情况下,connection是选择use existing connection,意思是使用已有的连接;另一个选项setup new connection是建立一个新的连接,由于我在上面已经创建了连接,所以就选择use existing connection

请添加图片描述

在Data里填入传入的消息

请添加图片描述

获取响应
同样的是选择use existing connection,然后根据响应内容的选择对应的文本格式

请添加图片描述

以上步骤使用websocket request-response sampler可以一次性完成,操作也是一样的就不演示了。
另外建议最后都加上websocket closc取样器,关闭连接。

Dubbo 协议

Dubbo是一款高性能、轻量级的开元java RPC框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡以及服务自动注册和发现。

引入插件
这次不能在jmeter的插件管理工具里下载了,得要额外下载。
名:jmeter-plugins-dubbo-2.7.3-jar-with-dependencies.zip

放入这个插件之后,jmeter的启动速度会慢一点,因此推荐在测试dubbo的时候才引入这个插件,其他时候就不要放进来了。

编写脚本

请添加图片描述

Protocol:选择注册中心
Address:注册中心的地址
Get Provider List: 点击获取提供者的列表,点了之后jmeter会卡死几秒钟,不用担心,别乱点!

下面这部分就是填写参数的,具体的参数请询问开发。

请添加图片描述

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要心中有梦想,在追求的路上不停前行,即使面对挫折和困难,也要坚信自己的能力和价值,最终绝不放弃,才能获得属于自己的辉煌成功!

人生的路途不会总是平坦,但只要你有信念、有勇气、有毅力,就能跨越千山万水,攀登高峰,最终获得属于自己的成功与荣耀!

生命中,最重要的不是你遇到了什么,而是你如何去应对。保持一颗永远向上的心,坚持自己的信念,即使跌倒也能重新站起来,才能走向属于自己的光芒与辉煌!

猜你喜欢

转载自blog.csdn.net/shuang_waiwai/article/details/130183699
今日推荐