jmeter从文件中读取两个不同的值作为参数传入。

引言:

最近在做lr自带的订票系统的练习,其中有一个请求的传参是出发城市和到达城市。

当然出发和到达城市的值要不同。

jmeter从文件中读取两个不同的值作为参数传入。

请求如下:

jmeter从文件中读取两个不同的值作为参数传入。


肯定会先想到把上一个请求所有的出发城市和到达城市都关联出来,然后放在一个txt中。


第一种:

把出发城市、到达城市放在同一txt中。

jmeter从文件中读取两个不同的值作为参数传入。

jmeter中这样操作:

jmeter从文件中读取两个不同的值作为参数传入。

jmeter从文件中读取两个不同的值作为参数传入。

循环20次或者取20个线程组:

jmeter从文件中读取两个不同的值作为参数传入。

结果如下:

jmeter从文件中读取两个不同的值作为参数传入。


这样可以满足请求的中出发城市、到达城市不同的要求。

但是这个需要10x9=90种,才可以罗列出所有的出发城市、到达城市。


方法二:

jmeter从文件中读取两个不同的值作为参数传入。

jmter中有自带函数,可以帮助我们取得文本中随机列的值。

__CSVRead:

jmeter从文件中读取两个不同的值作为参数传入。

__Random,取一定范围内的随机数

jmeter从文件中读取两个不同的值作为参数传入。


这两个函数结合,就可以实现取文本中随机列的值。

在前置处理器中实现参数的处理:

1.随机取出两个值;

2.这两个值不能相等;

jmeter从文件中读取两个不同的值作为参数传入。

jmeter从文件中读取两个不同的值作为参数传入。

这里i<5,是因为如果写成while(true){}这样的话,循环100次,jmeter会死掉,有兴趣的小伙伴可以试试。

运行100次,结果如下:
jmeter从文件中读取两个不同的值作为参数传入。


第三种方法:
写java代码实现。


此时文本中的值是这样的:
jmeter从文件中读取两个不同的值作为参数传入。

这个方法的作用是读取文件随机行的数据。

然后取两个不同的随机数,传进去,就得到不同行的值了。

jmeter从文件中读取两个不同的值作为参数传入。

jmeter从文件中读取两个不同的值作为参数传入。


循环100次或者取100个线程,结果如下:

jmeter从文件中读取两个不同的值作为参数传入。


练习文件传送门:
点击打开链接