Jmeter 让CSV Data Set Config能使用Jmeter已经有的变量数据

在测试过程中,往往需要新账户和老账户都走一遍流程。

而通过数据库查询得到的老账户,和自己设计脚本里放在txt中的新账户就需要在同一脚本里依次执行。

是试了下${__V()}这个方法不可行,不过还是可以通过BeanShell PreProcessor对数据进行处理。


1. 假设我们有四条用例,第1条和第2条需要2个老账户,这里约定为U1和U2(此处U1和U2只是约定名称,无实际意义)。第3条和第4条是admin和root,是设计脚本里需要新创建的帐号。


2.老账户我会通过数据库查询出来,但是具体是什么值,我也不知道。我根据需要只取2条,把他赋变量给OldUser_1和OldUser_2。



3. 这时我们先运行一下,会发现依次使用了U1、U2、admin、root


4. 通过BeanShell脚本来处理数据。逻辑为:如果txt中的${User}等于约定的U1,则使用OldUser_1这个变量的值。


5. 再次运行,这次根据CSV文件的行数执行了4次。依次使用了预期的4个帐号了。


最后附上BeanShell语句:

String User = vars.get("User"); //CSV中的变量
String OldUser_1 = vars.get("OldUser_1"); //老账户1
String OldUser_2 = vars.get("OldUser_2"); //老账户2

//如果User的值为"U1" (在CSV中定义的约定内容)
if(User.equals("U1")){
	//将OldUser的值赋值给User变量
	vars.put("User",OldUser_1); 
	}

if(User.equals("U2")){
	vars.put("User",OldUser_2); 
	}



猜你喜欢

转载自blog.csdn.net/tomoya_chen/article/details/78094388