Jmeter vars取值、转型相关

本文介绍了一种在程序中操作全局变量的方法,包括如何进行数值的累加计数,并实现字符串与整数之间的相互转换。具体步骤涉及读取变量、进行数值运算以及将更新后的整数值转换回字符串形式。

需求:全局变量、累加计数,非从1开始,String转Int型、Int型转String

samper前置处理level、exp,计算出累加后的值

level=Integer.parseInt(vars.get("level"));
exp=Integer.parseInt(vars.get("exp"));
level=level+1;
exp=exp+50;

vars.put("level",level.toString());
vars.put("exp",exp.toString());


### JMeter 中变量的使用方法及实例 在 JMeter 中,变量用于存储和操作数据,这些数据可以在测试过程中动态变化。主要存在两种类型的变量:局部变量(通过 `vars` 对象访问)和全局变量(通过 `pm.globals` 或者 `${__P}` 函数定义)。对于局部变量,在 Beanshell 预处理器或者后置处理器中可以利用如下方式设置: ```java // 设置局部变量 vars.put("localVariable", "value"); ``` 当需要获取这个局部变量的时候,则可以通过`${localVariable}`的方式直接调用。 而对于全局变量而言,Postman风格下的语法为`pm.globals.get("variable_key")`; 不过需要注意的是此表达式适用于 Postman 平台而非 JMeter [^2]。而在JMeter里更常用的方法是借助内置函数来取得环境参数或自定义属性: ```properties ${__property(propertyName,default value)} ``` 另外一种常见的场景是在 HTTP 请求默认值或者其他组件里面指定可变的数据源文件路径、数据库连接字符串等配置项时采用 `${__P(PropertyName,)}` 来读取命令行传递过来的参数或者是 jmeter.properties 文件里的预设键值对[^1]。 为了实现更加复杂的逻辑控制以及提高脚本重用率,还可以结合CSV Data Set Config插件加载外部csv格式文本作为输入源从而批量注入多轮次迭代所需的参数组合;亦或是运用User Defined Variables面板预先声明一组固定的映射关系供后续采样器引用。 #### 使用 CSV Data Set Config 插入外部变量 假设有一个名为 `testData.csv` 的逗号分隔值文档,其中包含了两列分别代表用户名(user)与密码(pass),那么就可以按照下面所示创建相应的CSV Data Set Config并将其放置在线程组之下以便于整个范围内共享该资源池内的条目直至耗尽为止。 | user | pass | |------|------| | admin|admin123| | guest|guest| ```xml <elementProp name="CSV DataSet Config" elementType="Arguments"> <collectionProp name="arguments"> <elementProp name="" elementType="Argument"> <stringProp name="Argument.name">filename</stringProp> <stringProp name="Argument.value">${__env(JMETER_HOME,./)}data/testData.csv</stringProp> </elementProp> ... </collectionProp> </elementProp> ``` 这样做的好处是可以轻松切换不同的数据集而无需修改内部硬编码部分,同时也支持并发模拟多个不同身份认证情景下的行为模式。 #### 定义用户自定义变量 如果希望在整个测试计划期间保持某些特定数值不变的话,可以选择 User Defined Variables 元素来进行集中管理。只需简单地填入名称-值配对即可让它们自动生效成为可供其他地方随时引用的标准占位符形式`${varName}`。 例如要固定API请求头中的版本信息Version=V1.0,可在UDVs表单里新增一行记录完成初始化工作。 | Name | Value | |----------|--------| | Version | V1.0 | 随后便能在HTTP Header Manager之类的地方看到类似这样的写法: ```http Content-Type: application/json; charset=UTF-8 X-API-Version:${Version} ``` 这不仅有助于减少重复劳动还能够有效提升维护效率降低出错几率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值