Hi, 如果有任何想法与我沟通, 请用: lifr_nj 在 msn.com

Jmeter之测试数据参数化

上一篇 / 下一篇  2010-07-21 17:40:18 / 个人分类:TA

* jmeter参数化之一: 分类

jmeter的参数化分为四种

1) 所有环境配置常量
    比如server address, port, etc.
    作用范围是所有testcase

2)  关于test压力的配置参数
    比如thread number, loop number, etc.
    作用范围是特定的testcase

3)  virutal user特定的量, 一般是测试逻辑相关的数据
    比如user name, password, etc
    作用范围是某一个vu, 但是无论loop是多少, 值都是一样的

4)  每次引用都不一样的量, 一般是测试逻辑相关的数据
    比如queryKey, etc
    没有作用范围, 每一次对该变量的引用都是不一样的.

* jmeter参数化之二: 静态量

对于第一种和第二种来说, 为了达到最好的参数化效果,需要下面两步.
1) 创建环境配置参数文件,  和压力配置参数文件, 在调用jmeter的时候把参数传入
jmeter -t mytc1.jmx -q testenv.properties -q mytc1.properties

2) 创建testplan级别的UserDefinedVariables
为上面两个文件里的每一项创建一个条目, 比如
   serverAddr  ${__P(serverAddr, www.abc.com)}
   threadNum   ${__P(threadNum, 1)}
这样做的好处是, 在ide里调试的时候, 即使没有配置文件, testplan仍旧可以运行, 使用此处定义的"缺省值"


* jmeter参数化之三: virtual user特定的量

使用Pre Processor -> User Parameters控件. 该控件参数的形式是
VariableName User1 User2 ... Usern
loginName    LUcy  Dean  ... Jack
passWord     123   231   ... 321
每个virutal user取的值永远都是一样的, 无论loop是多少

*jmeter参数化之三:每次引用都不一样的量

最重要的是CSVDataSet, 这样你可以使用外部的datasource. 使用CSVDataSet需要注意两点
1) csv文件和jmx文件要在同一个目录
2) csv的column名字(也就是引用的名字)需要配置, 在Variables Name配置项, 名字用逗号','分隔.

另外还有随机数Random Variable, 可以是virutal user特定,也可以是每次引用都不一样, 取决于你的配置.

TAG:

 

评分:0

我来说两句

Open Toolbar