jmetet问题总结

2019-01-11  本文已影响0人  好大一只鹏

1.跨线程变量

String json  =var .get("variable")
1.${__setProperty(uuid,${uuid},)};         //设置全局的属性(跨线程组的变量)

2.${__P(protocol,https)}               //参数可以进行从命令行中传递进来      
函数_P是一个简化版的属性函数,目的是使用在命令行中定义的属性。不同于函数_property,本函数没有提供选项用于设置保存属性值的变量。 另外,如果没有设置默认值,默认值自动设为1。之所以选择1,原因在于它对于很多常见测试变量都是一个合理值,例如,循环次数、线程数、启动线程耗时间 等。
3.__property

函数__property会返回一个JMeter属性的值。如果函数找不到属性值,而又没有提供默认值,则它会返回属性的名称。

例如,

     ${__property(user.dir)}:返回属性user.dir的值。

     ${__property(user.dir,UDIR)}:返回属性user.dir的值,并保存在变量UDIR中。

     ${__property(abcd,ABCD,atod)}:返回属性abcd的值 (如果属性没有定义,返回"atod"),并保存在变量ABCD 中。

     ${__property(abcd,,atod)}:返回属性abcd 的值(如果属性没有定义,返回"atod"),但是并不保存函数的返回值。

4.内置变量:vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:

a) vars.get(String key):从jmeter中获得变量值
b) vars.put(String key,String value):数据存到jmeter变量中

5. props - (JMeterProperties - class java.util.Properties):操作jmeter属性,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值,而不能是一个对象。对应于java.util.Properties。 
a) props.get("START.HMS");  注:START.HMS为属性名,在文件jmeter.properties中定义 
b) props.put("PROP1","1234"); 

6.prev - (SampleResult):获取前面的sample返回的信息,常用方法:

              a) getResponseDataAsString():获取响应信息
           b) getResponseCode() :获取响应code
上一篇下一篇

猜你喜欢

热点阅读