0
点赞
收藏
分享

微信扫一扫

Linux实用性脚本 [bash]

干自闭 04-10 23:30 阅读 3

背景
我们可以通过Jmeter添加插件实现webSocket脚本编写。WebSocket的插件较多,我选择以WebSocket Samplers by Peter Doornbosch为例来进行配置。

步骤1、WebSocket Samplers插件安装

  1. 下载地址:JMeter WebSocket Samplers,建议下载最新版本。
  2. 下载的插件放置在jmeter安装目录下的lib->ext文件夹下
  3. 打开jemter添加取样器,查看是否安装成功,如果可以选择到websocket相关链接代表成功。
  4. 采集器名称

    说明

    WebSocket Close

    用于正常关闭 websocket 连接

    WebSocket Open Connection

    用于显式设置websocket连接

    WebSocket Ping/Pong

    用于发送ping和接收pong请求

    WebSocket Single Read Sampler

    用于接收一个(文本或二进制)WebSocket 帧

    WebSocket Single Write Sampler

    用于发送一个(文本或二进制)WebSocket 帧

    WebSocket request-response Sampler

    用于执行基本的请求-响应请求

  5. 注意:

    因为WebSocket是长连接流式通讯,所以可能存在发送一个请求收到多条响应的情况。收到的响应会以先后顺序排在一个响应队列中。当执行一个有读操作的Sampler时,就从队列头部取出一个响应;每当收到一个响应时,就将其放到队列尾部。

    WebSocket Single Read Sampler是一个只读Sampler,它只从队列头部读取一个响应,如果读不到就等待,直至超时。

    WebSocket Single Write Sampler是一个只写Sampler,它只向连接通道发送一个请求且不等待响应。

    WebSocket Request Response Sampler是一个读写Sampler,它向连接通道发送一个请求,然后从响应队列头部读取一个响应,如果读不到就等待,直至超时。

    如果放置的读Sampler和写Sampler数量不合适,可能会出现读到的数据错位的现象。
    (比如:服务端每2秒固定生成1个通知消息,添加到队列中,那么20秒以后,队列中已经有10条消息,此时,你触发1条请求,服务端对该请求进行响应,你需要读取11次才会拿到该响应值,前10次拿到的是已经生产的队列中的通知消息)

步骤2:采集器使用

下面对JMeter WebSocket Samplers各采集器的配置与使用进行说明

  1. 首选创建一个线程组,添加到测试计划中,添加->线程(用户)->线程组
  2. 添加一个WebSocket Open Connection采集器,线程组->添加->取样器->WebSocket Open Connection,该采集器为建立WebSocket连接
  3. 相关配置说明:

    配置项

    说明

    协议

    协议可以是WS或WSS,WSS是进行加密连接。

    Server name or IP

    域名或IP地址

    Port

    端口号

    Path

    路径,可为空

    Connection timeout(ms)

    建连的超时时间

    Read timeout(ms)

    等待服务器响应的超时时间

  4. . 添加一个WebSocket Single Read Sampler采集器,线程组->添加->取样器->WebSocket Single Read Sampler,用于接收一个(文本或二进制)WebSocket 帧

    配置项

    说明

    use existing connection

    复用已有连接

    setup new connection

    创建新的连接

    Response (read) timeout (ms)

    响应超时时间

  5. 添加一个WebSocket Single Write Sampler采集器,线程组->添加->取样器->WebSocket Single Write Sampler,用于发送一个(文本或二进制)WebSocket 帧

    配置项

    说明

    use existing connection

    复用已有连接

    setup new connection

    创建新的连接

    Request data

    填写请求数据

  6. 添加一个WebSocket request-response Sampler采集器,线程组->添加->取样器->WebSocket request-response Sampler,用于执行基本的请求-响应请求

    配置项

    说明

    use existing connection

    复用已有连接

    setup new connection

    创建新的连接

    Request data

    填写请求数据

    Response (read) timeout (ms)

    响应超时时间

  7. . 添加一个WebSocket Close采集器,线程组->添加->取样器->WebSocket Close,用于正常关闭 websocket 连接

    配置项

    说明

    Close Status

    关闭连接时定义的状态码,数据帧的头两个字节

    Response (read) timeout (ms)

    响应超时时间

  8. 右键单击线程组,选择添加 -> 监听器 -> 查看结果树,在线程组中添加监听器查看结果树,用于接收服务端的消息响应。

步骤3:脚本执行

举报

相关推荐

0 条评论