本文系《JMeter文档通读》系列内容
正在连载,欢迎关注
在JMeter的元件之间可用通过变量、属性和对传递数据。
此外,在JMeter编写代码的时,也会可用通过变量、属性和对象来影响元件。
1. 变量
JMeter 变量是每个线程的本地变量,不同线程之间彼此隔离,
所以 A 线程修改变量后,B 线程中并不会跟着变化。
1. 设定变量
使用配置元件【User Defined Varables】
启动前创建,分配到每一个线程的
前 / 后处理器
执行取样器时创建,只作用于当前线程
脚本
vars.put("variableName", "variableValue");
2. 使用变量
在元件中,通过的标记使用变量,其中var_name是变量的名称,不存在的变量原样返回
${var_name}
在脚本中,通过代码使用变量,不存在的变量返回 null
如果引用了未定义的函数或变量,JMeter 不会报告 / 记录错误 - 引用原样返回
3. 删除变量
在元件中
略
在脚本中
vars.remove("variableName");
2. 属性
JMeter 属性是全局唯一的,所以可用于跨线程传递数据
如果需要跨线程传递数据,可以使用属性,属性在 JMeter 中全局唯一
1. 设定属性
在配置文件中
propertyName=66666666666666
在启动参数中
-JpropertyName=7777777777777
元件中
略
在脚本中
props.setProperty("propertyName", "88888888888")
2. 使用属性
在元件中
${__P(propertyName, defaultValue)}
在脚本中
3. 删除属性
在脚本中
props.remove('propertyName')
3. 对象
在 JMeter 中,有一些内置对象可以在测试计划中使用,这些对象提供了方便的方法和属性来处理测试过程中的不同方面。以下是一些常用的 JMeter 内置对象:
1.log (Logger) :日志记录器
用来记录日志
其他日志等级还有:
trace(最低)
debug
info
warn
error
fatal (最高)
2. ctx (JMeterContext):上下文
提供了与当前线程上下文相关的信息和方法
ctx.threadNum:当前线程的编号(从 0 开始)。
ctx.thread:当前线程所属的线程对象。
ctx.currentSampler:当前正在执行的采样器对象。
ctx.previousSampler:上一个采样器对象
ctx.previousResult:上一个采样结果对象
ctx.currentTime:当前时间戳(毫秒)。
ctx.variables:当前线程的变量集合。
3. vars(JMeterVariables):变量
当前线程的变量集合。
vars.get("variableName"):获取指定变量的值。
vars.put("variableName", "value"):设置指定变量的值。
vars.remove("variableName"):移除指定变量。
4.props(JMeterProperties):属性
提供了与 JMeter 属性相关的方法和属性。
props.get("propertyName"):获取指定属性的值。
props.put("propertyName", "value"):设置指定属性的值。
props.remove("propertyName"):移除指定属性。
5.sampler (Sampler):当前取样器
6.prev(SampleResult):上一个取样结果
sampler.isSuccessful():检查采样器是否成功。
sampler.getResponseDataAsString():以字符串形式获取响应数据。
sampler.getSampleLabel():获取采样器的标签。
7. args:JSR223 元 件参数(数组格式)
8. Label:采样器标签(元件类型)
10.Parameters:JSR223 元 件参数 (字符串)
11.OUT : System.out(命令行输出)
OUT.println("12312311111111")
12.AssertionResult (AssertionResult):断言结果
AssertionResult.setFailure(true)
AssertionResult.setFailureMessage("message")
内置对象可以在 JSR223 元件(如 Groovy、Benahsell)中使用,以访问和操作与测试过程相关的信息
通过使用这些内置对象,我们可以实现更高级和复杂的测试逻辑和操作。
请注意,在使用这些内置对象时,确保正确引用对象名称,并遵循相关的方法和属性的使用规则和文档说明。
能看到这里说明是真爱,关注一下吧
首发于公众号:测试开发研习社
领取专属 10元无门槛券
私享最新 技术干货