我在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.production
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,)}
问题是:
答案 0 :(得分:0)
一切都不对
假设您在CSV文件中定义了protocol
和host
变量,则无需在CSV Data Set Config中声明它们,只需将字段留空
JMeter支持CSV文件,该文件的标题行定义了列名称。要启用此功能,请将“变量名称”字段留空。必须提供正确的定界符。
请勿使用CSV文件的完整路径,因为很有可能会使在distributed mode或continuous integration服务器上的其他计算机上运行测试成为不可能。
因此,选择${__P(environment,development)}.csv
使用Debug Sampler和View Results Tree侦听器组合再次检查protocol
和host
变量是否具有期望值
如果看不到它们-检查 jmeter.log 文件中是否有可疑条目,很可能JMeter无法找到.csv文件并从中读取变量。有关更多详细信息,请参见How to Debug your Apache JMeter Script文章。
ws
or wss
),所以我怀疑您的WebSocket Open Connection Server是否能够成功执行。