loadrunner2021+websocket性能测试(一)
前言
loadrunner12版本之后对websocket协议有了直接的支持,最近项目有在用,做一下笔记,自己用的是loadrunner2021,12之后应该是通用的,当然lr12之后socket协议也可以在Linux的负载机上面运行了,可惜是收费的。
一、LR2021关于websocket协议的简介
LR12之后的版本,界面美化了,也增加了HTML5 WebSocket 支持,相较于之前用socket协议去写websocket的性能测试脚本,在LR12中直接使用websocket函数去写,简单了许多,不用头疼去组装报文,算头的信息及内存回收之类的问题,先简单讲一下新增的websocket函数吧
函数不多,就三个:web_websocket_connect, web_websocket_close, web_websocket_send
web_websocket_connect:连接函数
int web_websocket_connect("ID=conection_id", "URI=ws://server:port", ["Origin=value ", SecWebSocketKey=value ", "SecWebSocketProtocol=value ", SecWebSocketExtensions=value, OnOpenCB=func_name, OnMessageCB=func_name, OnErrorCB=func_name, OnCloseCB=func_name, ] LAST);
ID:socket通道描述符,一般为0,1,2
URI:websocket的连接地址,可以是IP+port,也可以是域名
Origin:为空即可
SecWebSocketKey:Sec-WebSocket-Key头的值。可选:WebSocket键值。不记录,但可以手动添加。
SecWebSocketProtocol:Sec-WebSocket-Protocol头的值。可选:只有在录制会话中检测到才会生成。
SecWebSocketExtensions:Sec-WebSocket-Extensions头的值。可选:只有在录制会话中检测到才会生成。
OnOpenCB:OnOpen事件的回调函数名
OnMessageCB:OnMessage事件的回调函数名
OnErrorCB:OnError事件的回调函数名
OnCloseCB:OnClose事件的回调函数名
示例:
/**
* 回调函数名在WebSocketCB.c中定义,下面会讲
*/
web_websocket_connect("ID=0",
"URI=ws://pumpkin:9876/",
"Origin=http://pum