Jmeter实现websocket协议接口测试

2023-10-26

一.为了方便使用,首先将jmeter设置成中文,有两种方法:

1.在Jmeter界面进行设置,Options ->Choose Language ->Chinese(Simplified),这种方法在关闭jmeter重启后又会恢复成默认的英文,如果想长期使用中文版的jmeter不建议使用这种方法。
2.在Jmeter的bin目录下有个jmeter.properties,用notepad打开搜索language=,能搜索到#language=en,将此行改成language=zh_CN,保存后关闭就设置成功了,下次打开还是中文设置。注意不要选择错误文件,在bin目录下有个文件名为Jmeter,用notepad也可以打开,刚开始我就是打开了这个文件,没搜索到设置语言的配置行。
修改配置文件

二.Jmeter不自带WebSocket功能,需要先安装WebSocket的插件,在插件管理器窗口的available plugins搜索WebSocket进行插件下载即可,我是将搜索到的2个插件都安装了,待Jmeter重启后插件就安装成功了。

步骤1
步骤2

三.编写测试计划

1.先创建线程组,右键点击测试计划,创建线程组。
创建线程组
2.创建WebSocket连接,可以先创建连接再发送请求(websocket open connection>websocket request-repose sampler),也可以只使用websocket request-repose sampler创建连接并发送消息。这两种方式的区别就是websocket request-repose sampler选择use existing connection还是setup new connection。再此举例第二种方式如图:
创建WebSocket连接
3.因为要使用步骤2的返回值请求登录二维码,因此要在websocket request-repose sampler下添加提取器,我是使用的正则表达式提取器,JSON取样器也很方便,按照自己熟悉的方式使用即可。在进行数据提取时,有时会出现错误,为了方便进行调试,建议在线程组加上调试取样器,这个工具能在查看结果数下打印出取样结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.创建HTTP请求,利用提取到的数据进行传参,获取登录二维码,http默认端口号是80,https默认端口号是443。在HTTP请求下添加HTTP信息头管理器,进行头信息传参,添加Beanshell 预处理程序编写验签脚本。
在这里插入图片描述

5.使用WebSocket Close关闭通讯。
6.添加线程组的查看结果树、汇总报告、聚合报告,这样一个简单的线程组就完成了。
7.可以在测试计划上传jar包,上传后脚本里就可以直接导入了。
在这里插入图片描述
8.在线程组里增加一个BeanShell后置处理程序,添加prev.setDataEncoding(“utf-8”)脚本。
在这里插入图片描述

9.一个完成的使用websocket请求登录二维码当然不会是这么简单了,还会涉及ping/pong和返回过期信息等功能,要在熟悉代码流程的基础上去进行模拟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jmeter实现websocket协议接口测试 的相关文章

  • Java selenium - 如何在 TimeoutException 之后正确刷新网页?

    ChromeOptions options new ChromeOptions options addExtensions new File extension 6 2 5 0 crx ZenMate options addExtensio
  • php 中的 stackoverflow 上有这样的成就系统吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 从概念上讲 如何使用 PHP 和 MySQL 为网站编写一个成就系统 唯一真正的方法是不断执行 MySQL 查询来测试成绩等吗 您有两
  • 烧瓶 - 404 未找到

    我是烧瓶开发的新手 这是我在烧瓶中的第一个程序 但它向我显示了这个错误 在服务器上找不到请求的 URL 如果您输入了网址 请手动检查拼写并重试 这是我的代码 from flask import Flask app Flask name ap
  • XPath JMeter 断言:错误“前缀必须解析为命名空间”

    我正在尝试使用JMeter XPath 断言 https jmeter apache org usermanual component reference html XPath Assertion使用 XPath 断言命令对标签值进行如下操
  • 发送变量后的 wsdl 服务响应,php

    我是 SOAP WSDL 函数的新手 我有一位客户从一家从事汽车测试的公司获得了 wsdl 文件 我的客户是他们的分包商 他们告诉我们上传有关车牌 类别等信息 一旦详细信息发送完毕 服务器就会做出成功或失败的响应 请您协助 浏览不同的信息
  • 重新加载更新的 javascript> 代码而不完全重新加载 html 页面

    我正在开发一个单页 Web 应用程序 它具有许多不同的功能和形式 当开发一个深度 我的意思是主页上没有的 功能时 我会经历这个循环 开发代码 编辑类和函数 刷新整个页面 一路点击 直到到达我需要测试的部分 有时加起来大约一分钟 测试新代码
  • WebSocket 和 Origin 标头字段

    以下引用自 RFC6455 WebSocket 协议 不打算处理来自任何网页的输入但 仅对于某些站点应验证 Origin 场是原点 他们期望 如果服务器不接受指示的来源 那么它应该用回复来响应 WebSocket 握手 包含 HTTP 40
  • webhook 和 websocket 之间的区别?

    我一直想进行实时聊天 几年前我用 PHP Ajax Mysql 完成了这个任务 并破坏了我的服务器 然后我尝试使用 Flash 文本文件 我放弃了 10年没有尝试过 但最近我听说了 webhooks 和 websockets 它们似乎都是做
  • 当存在打开的 ASP.NET 4.5 Websocket 时,IIS 应用程序池无法回收

    我遇到了一个问题 可以通过以下方式复制 您需要 IIS8 因此必须在 Windows 8 或 Windows Server 2012 R2 上 在 IIS 管理器中创建一个新网站 例如在端口 8881 上的 TestWs 指向一个新文件夹
  • 如何从文件系统访问 api window.showDirectoryPicker() 获取选定的目录路径

    当我选择一个文件夹时 我确实得到了 dirHandle 但无法弄清楚什么属性或方法将为我提供完整路径 const dirHandle await window showDirectoryPicker 所以类似 let path dirHan
  • NodeJs/WS:如何抛出服务器端在客户端处理的错误?

    当我的 websocket 有超过 2 个连接时 我试图在服务器端抛出错误 我有这个不错的客户端onerror方法 但我无法到达我的代码的那部分 我正在使用 nodeJS 和包ws其中有关于错误处理的最小文档 服务器 js theWebSo
  • JMeter:来自 Jenkins 的九个以上参数

    我试图将超过九个参数从 Jenkins 传递到 JMeter4 0 当我阅读时 我发现 JMeter 不接受超过 9 个参数 作为解决方法 我想将所有参数作为字符串传递 并在 JMeter BeanShell 中将其拆分 java jar
  • 使用 SOAP 调用 WCF 服务

    我正在尝试在不创建 WCF 客户端的情况下测试 WCF 服务 我有类似的代码 问题here https stackoverflow com a 1643025 1397017 我希望完全控制 SOAP 负载 因此我希望能够发出我自己的 We
  • 哪些具体用例需要通过 WebSockets 和长轮询使用 BOSH? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JMeter 为子功能添加 Think Time

    在 JMeter 中 当我右键单击 线程 控制器 时 我有一个选项 Add Think Time to children功能 当我点击它时 我会看到每个采样器Test Action暂停与Uniform Random Timer随机延迟 10
  • 有没有适用于 IE 的 websocket 插件?

    有没有适用于 IE 的插件 我可以在 IE 7 8 9 中使用 Websockets 我还没找到 socket io 使用的后备方案之一是 flash gimite web socket js https github com gimite
  • @SubscribeMapping 与 @MessageMapping

    当在 Spring Boot 中使用 websockets 时 我见过使用以下示例 Configuration EnableWebSocketMessageBroker public class WebSocketConfig extend
  • 我可以通过什么方式混合 jQuery 和 vanilla JavaScript

    我有一个用普通 JavaScript 编写的 Web 应用程序 我想用 jQuery 动画来增强它 并使用我在各种 jQuery 插件中找到的一些功能 例如上传 http www uploadify com 可以通过什么方式将 jQuery
  • 将您的应用程序链接到现有页面

    我搜索了又搜索 似乎找不到任何与此相关的信息 我们有一个 Facebook 页面 facebook com companyname 我们在 Facebook 上也有一个应用程序 apps facebook com companyname 我
  • java Web应用程序中的日期转换

    String date1 13 03 2014 16 56 46 AEDT SimpleDateFormat sdf new SimpleDateFormat dd MM yyyy HH mm ss z sdf setTimeZone Ti

随机推荐