Jmeter的参数化
Jmeter中的参数就是变量。
变量的来源:测试计划、UDV、CSV、函数、正则表达式、数据库。
以Jmeter的CSV文件参数化为例:
Filename:文件名,填写文件的路径及名称
File encoding:文件编码,一般不填,跟随系统的编码。
Variable Name:变量名称,可以在这填写,也可以在csv文件开头填写(类似LR首行为参数名),两者填写一个就可以。
Delimiter:两个变量的分割符,中间用“,”分开,tab键用“\t”代替,也可以自己定义。
LR参数化文件末尾要留一个空行,jmeter也是一样的。
Allow quoted data:是否允许引用数据,如果参数包含分割符,把数据用引号引起来。如"name1,23"。
Recycle on EOF:到文件尾部是否循环。
Stop thread on EOF:到文件尾是否停止线程,注:当Recycle on EOF设置为True时,此项设置无效。
着重介绍一下 Sharing mode方式,Sharing mode:共享模式,All threads---所有线程,Current thread group—当前线程组,Current thread—当前线程。
All threads:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。
例如:
我们设置3个线程,循环5次,Sharing mode模式选择 All threads,我们看到每个线程每次循环取到了不同的值,可以用在登录等场景。
Current thread group:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行;但是当相同的线程同时出现的时候,他们取的是同一行;实际测试当中一般我们只要一个线程组就够了,每个线程下面都会对应不同的CSV参数文件。
Current thread:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行,如下图,线程1、2、3每次循环取到的值都是一样的
LR的参数化取值和更新方式详见:https://blog.csdn.net/huilan_same/article/details/51603861
无论哪种形式或工具的参数化,本质是没有变化的,变化只是不同工具提供的不同方法