如何在JMeter中参数化用户名和密码?移除代码硬编码方法
问题1:如何在JMeter中对用户名和密码进行参数化?
以下是几种常用且实用的参数化方法:
CSV数据文件设置
- 准备CSV文件,每行存储一组账号信息,格式示例:
user01,pwd001、user02,pwd002 - 在JMeter中添加「CSV数据文件设置」元件,配置文件路径、变量名(如
username、password),指定分隔符(通常为逗号) - 在需要输入账号的位置,用
${username}和${password}引用变量
- 准备CSV文件,每行存储一组账号信息,格式示例:
用户定义的变量
- 添加「用户定义的变量」元件,新建两个变量,名称设为
username、password,值可填占位符或初始测试值 - 测试计划中所有需要账号的地方,直接用
${username}和${password}替换硬编码内容,后续修改变量值即可快速切换账号
- 添加「用户定义的变量」元件,新建两个变量,名称设为
随机变量生成
如果需要随机测试账号,添加「随机变量」元件,配置变量名和生成规则(比如user_${__Random(100,999,)}),然后在对应位置引用变量从数据库获取账号
- 添加「JDBC Connection Configuration」元件,配置数据库连接参数
- 添加「JDBC请求」元件,编写SQL查询语句获取账号数据,设置变量名存储查询结果
- 在需要的位置引用对应的变量即可
问题2:移除以下代码中的硬编码?
针对给出的JMeter配置代码,直接将硬编码的账号值替换为JMeter变量即可,修改后的代码如下:
<stringProp name="Authorization.username">${username}</stringProp> <stringProp name="Authorization.password">${password}</stringProp>
替换完成后,只要你通过上述任意一种参数化方式定义了username和password变量,JMeter就会自动读取对应的值,无需再修改这段配置代码中的硬编码内容。
内容的提问来源于stack exchange,提问作者Rashmi Ks
相关产品推荐
相关产品推荐

