jmeter - 使用 Switch Controller 参数化 JMeter 中的 url
问题描述
我在使用 websocket 连接的 JMeter 后端应用程序中进行测试——在 JMeter 中这是一个插件:Peter 的 Web Socket Sampler……。
我想参数化以下变量:
主持人
港口
和securityKey 让可以在它们之间切换。
可以使用 4 个不同的主机,四个不同的 securityKey。
我不想使用任何外部文件。
所以我从测试计划中定义的用户定义变量开始,当我定义:主机、端口和安全密钥。我设置了以下内容:
开发 dev.mycom.io 80
preprod preprod.mycom.io 80
产品 prod.mycom.io 80
localDev local.mycom.com 8080
然后我必须将其设置为适合 3 种不同的测试环境:开发、生产、
然后在 WebScoket Open Connection 中设置:服务器名称或 IP:${host} 和端口:${port}
我添加了 Switch Controller,在其中添加了 WebSocket request-response Sampler
但是在 SwitchControllet 中我不知道如何设置 Switch Value,也不知道如何为另一个环境设置值。
对此进行参数化的最佳方法是什么?
解决方案
我不认为 Switch Controller 在这里适用,我建议采用另一种方法,即:
创建几个属性文件,例如:
dev.properties
host=dev.mycom.io port=80
prod.properties
host=prod.mycom.io port80
- 等等
将HTTP 请求默认值添加到您的测试计划并使用__P() 函数引用属性,例如
${__P(host,)}
和${__P(port,)}
当您需要切换环境时,您可以通过
-q
命令行参数将相关的 .properties 文件传递给 JMeter,例如:jmeter -q dev.properties -t test.jmx
或者
jmeter -q prod.properties -t test.jmx
推荐阅读
- python - Pandas 对多个 csv 文件中匹配日期的列求和
- javascript - 在 Nigthwatchjs 中使用 Dropzone 上传文件
- css - 为什么第二个媒体查询不适用
- c# - Automapper ValueConverter 的单元测试用例,模拟映射器未返回预期模型
- keycloak - 如何将来自身份提供者的声明映射到 Keycloak 中的角色组?
- elasticsearch - 弹性响应修改器插件
- c - C 混淆中的文件处理(从文件中读取矩阵)
- dart - dart typedef 子类函数失败
- python - 'OSError: [Errno 98] Address already in use' 在 kubernetes 上部署
- android - 如何将 ImageView 设置到 ConstraintLayout 的右侧