在最开始的几篇已经讲过vars、props、log这几个变量,因为太常用就最先说了,ctx用的少,实际它的作用好多vars.props也可以直接实现。
ctx 映射为 org.apache.jmeter.threads 的 JMeterContext 类,该类下有一些常用的方法。
可以查询Jmeter的api文档找到这个类来学习其下的方法。
这里说下一些常用方法,新建配置文件用户自定义变量,如下
一、获取当前线程变量getVariables
二、获取属性getProperties
log.info(props.get("START.YMD"));
log.info(ctx.getProperties().getProperty("START.YMD"));
三、获取前一个结果getPreviousResult,等同于prev
四、获取当前取样器对象getCurrentSampler
log.info(ctx.getCurrentSampler().getName());
五、获前一个取样器对象getPreviousSampler
log.info(ctx.getPreviousSampler().getName());
六、获取当前线程号getThreadNum
log.info("线程号:"+ctx.getThreadNum());
七、获取线程对象getThread
log.info(ctx.getThread().getThreadName());
八、获取线程组对象getThreadGroup
log.info(ctx.getThreadGroup().getName());
以getPreviousResult为例,来说明下如何去看Jmeter的api文档,如何去使用对象有哪些方法?
在这个类下
下拉找到这个类下的方法,getPreviousResult()方法返回类下是SampleResult,这不是什么字符串可以直接打印输出,这是一个对象,我们需要再通过这个对象的方法或属性获取值
点击其左侧的SamplerResult,查看下这个对象下有哪些方法可以用?
另外:ctx.getPreviousResult()相当于再beanshell中常用的prev对象