url - Jmeter参数化WebSocket变量
问题描述
我在 JMeter 中测试后端应用程序(也是 Java 和 Node JS,通信:NodeJs 部分中的 WebSocket 和 Java 部分中的 http)我必须参数化 url,以便在开发 url、生产和 prepod 之间切换
我是通过 CSV 文件完成的。我在拥有 Jmeter 5.0 的文件夹中创建了文件夹 CSV。我准备了3个csv文件
1.发展是:
protocol, host
http, 10.219.227.66
2.prepod
protocol, host
https, prepod.myprepod.io
3.生产
protocol, host
https, production.myproduction.io
我这样设置:
CSV 数据集配置
Filename ${_P()/usr/local/Cellar/jmeter/5.0/libexec/CSV/development,development}.csv
variable Names ; protocol,host
WebSocket 打开连接服务器名称或 IP ${host}
Switch Controller
Switch Value ${protocol}
HTTP Request Default - server name or ip ${host}, protocol http ${protocol}
用户定义的变量
name value
protocol . ${_P(protocol,)}
host . ${_P(host,)}
问题是:
- 我的设置有什么问题?我必须改进什么以及如何改进?
- 我将测试保存在桌面上,但是我在计算机的其他地方有 Jmeter 5.0 - 在 users 中是文件夹 jmeter 5 - 如果这可能是一个问题?
- 有谁知道为什么它对我不起作用以及如何解决它?
解决方案
一切都错了
鉴于您在 CSV 文件中定义
protocol
和host
变量,您无需在CSV Data Set Config中声明它们,只需将该字段留空JMeter 支持 CSV 文件,该文件具有定义列名的标题行。要启用此功能,请将“变量名称”字段留空。必须提供正确的分隔符。
不要使用 CSV 文件的完整路径,因为这很可能会导致无法在其他机器、分布式模式或持续集成服务器上运行测试。
所以去寻找类似的东西
${__P(environment,development)}.csv
使用调试采样器和
protocol
查看结果树侦听器组合仔细检查host
变量是否具有预期值如果您没有看到它们 - 检查jmeter.log文件是否有任何可疑条目,很可能 JMeter 无法找到 .csv 文件并从中读取变量。有关更多详细信息,请参阅如何调试 Apache JMeter 脚本文章。
- 我在您的 CSV 文件中看不到任何WebSocket URL 架构(
ws
或wss
),所以我怀疑您的 WebSocket Open Connection Server 是否会成功执行。
推荐阅读
- survival-analysis - 我应该如何在 Kaplan Meier 生存分析中报告时变协变量的“组合风险比”
- dns - 我可以拥有一个只有一个名称而没有 .com 或任何结尾的域名吗
- grafana - 在 Grafana 上格式化长数字
- php - PHP、FTP和源代码控制系统
- python - 找到两个相交的凸包的内点
- authentication - 在 Blazor 中配置基于策略的授权
- xml - REST API (XML):执行复制时出现 400 错误请求(缺少复制源)
- wpf - 如何使用多数据触发器有条件地更改不同控件的不透明度
- linux - awk 命令执行 2 列的除法并获得高于某个值的结果
- firebase - 请求中的数据字段不能包含重复键(Firebase 函数推送通知)