jmeter学习资料

上一篇 / 下一篇  2013-03-04 13:06:02 / 个人分类:jmeter

LR有的JMeter也有之三“集合点”

JMeter使用技巧

JMeter正则表达式提取器

JMeter脚本的参数化

JMeter 属性和变量
JMeter 属性统一定义在jmeter.properties 文件中。JMeter 属性在测试脚本的任何地方都是可
见的(全局),通常被用来定义一些JMeter 使用的默认值。例如,属性remote_hosts 定义了JMeter
在远程模式下运行的服务器地址。属性可以在测试计划中引用(参见本书介绍JMeter 函数的章
节,读取属性函数_P),但是不能作为特定线程的变量值。
JMeter 变量对于测试线程而言是局部变量。这就意味着JMeter 变量在不同测试线程中,既
可以是完全相同的,也可以是不同的。
如果有某个线程更新了变量,那么仅仅是更新了变量在该线程中复制的值。例如,“正则表达式提取器”(后置处理器)会依据它所在线程的采样结果来更新变量值,该变量值可以供相同
的线程后续使用。关于如何引用变量和函数,请参见本书介绍JMeter 函数与变量的章节。
注意,通过测试计划和“用户定义的变量”(配置元件)两种方式定义的变量,在JMeter 启
动时对这个测试计划都是可见的。如果同一个变量在多个“用户定义的变量”(配置元件)中被
定义,那么只有最后一个定义会生效。一旦某个线程启动后,那么整个变量集合的初始值就会被
复制到该线程中。其他测试元件,例如“用户变量”(前置处理器)或者“正则表达式提取器”(后
置处理器)可以被用来重新定义变量(或者创建新变量),这些重定义仅仅影响当前线程。
可以通过_setProperty 函数来定义JMeter 属性。JMeter 属性对于整个测试计划都是可见的
(全局),因此可以用于在线程间传递信息(这种情况并不多见)

使用变量参数化测试
变量并不一定要一直发生变化——如果变量定义之后一直不用,那么它的值就会保持不变。
因此测试人员可以用变量来代替某些在测试计划中经常出现的表达式,或者某些在单次测试运
行过程中不发生变化,但在多次测试运行之间会发生变化的事物,例如,主机名或者线程数量。
在考虑如何构建测试计划时,需要注意哪些在测试运行期间是恒定不变的(常量),而
哪些在不同线程之间可能会发生变化(变量)。对于常量应该有单独的命名规则,例如加前
缀C_或者K_,或者使用大写,以便区别于变量。另外,还需要考虑哪些对于测试线程而言
是独享的,例如计数器或者通过“正则表达式提取器”(后置处理器)提取的变量。测试人员可
以对这些变量也采用不同的命名策略。
例如,测试人员可以在测试计划中如此命名常量:
HOSTwww.example.com
THREADS 10
LOOPS 20
可以在测试计划中使用${HOST}、${THREADS}来引用测试变量。如果测试人员接下来想
改变主机名,只需修改对应变量的值即可。这种方法适用于并发量较小的情况,对于大并发的
压力测试最好使用JMeter 属性。例如:
HOST ${__P(host,www.example.com)}
THREADS ${__P(threads,10)}
LOOPS ${__P(loops,20)}
可以通过命令行来改变JMeter 属性的值,例如:
jmeter ... -Jhost=www3.example.org -Jloops=13

 


TAG:

 

评分:0

我来说两句

用户菜单

我的栏目

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

RSS订阅

Open Toolbar