我在JMeter后端应用程序中进行了测试,该应用程序使用websocket连接–在JMeter中,这是一个插件:Peter……的Web Socket Sampler。
我想参数化以下变量:
主机
端口
和securityKey可以使它们在它们之间切换。
要可以使用4个不同的主机,4个不同的securityKey。
我不想使用任何外部文件。
因此,当我定义主机,端口和安全密钥时,我将从测试计划中定义的用户定义变量开始。我设置以下内容:
dev dev.mycom.io 80
preprod preprod.mycom.io 80
prod prod.mycom.io 80
localDev local.mycom.com 8080
然后我必须将其设置为适合3种不同的测试环境:开发,生产,
然后在WebScoket打开连接中的下一步我设置:服务器名称或IP:$ {host}和端口:$ {port}
我添加了Switch Controller,在其中添加了WebSocket请求响应采样器
但是在SwitchControllet中,我不知道如何设置“切换值”,也不知道如何为其他环境设置值。
参数化的最佳方法是什么?
答案 0 :(得分:1)
我认为Switch Controller不适合在这里使用,我建议您采用另一种方法:
创建几个属性文件,例如:
dev.properties
host=dev.mycom.io
port=80
prod.properties
host=prod.mycom.io
port80
将HTTP Request Defaults添加到您的测试计划中,并使用__P() function引用属性,例如${__P(host,)}
和${__P(port,)}
当您需要切换环境时,可以通过-q
command line argument将相关的.properties文件传递给JMeter,例如:
jmeter -q dev.properties -t test.jmx
或
jmeter -q prod.properties -t test.jmx