当上文中有一些变量的值在下文当中被使用

做接口测试的时候,有很多的接口之间是有数据关联的,

有些接口的参数需要用到上一个接口的数据,那么就需要做关联

一定要理清楚接口的业务逻辑

    搞清楚当前这个接口需要用到哪些接口的哪些数据?

    搞清楚你需要提取的数据,在哪里,是在body中,还是在响应头中?

    根据不同的返回格式,需要选择不同的提取器

下面以登录为例:

jemter参数动态 jmeter动态参数传递_jemter参数动态

1、如上图,登录时需要获取验证码,所以要先调验证码的接口,获取需要的数据

jemter参数动态 jmeter动态参数传递_数据_02

jemter参数动态 jmeter动态参数传递_线程组_03

2、登录接口中传入提取的code和key,并提取登录后生成的token,为下一个接口使用

jemter参数动态 jmeter动态参数传递_线程组_04

3、下一个接口传入登录时获取的token

jemter参数动态 jmeter动态参数传递_数据_05

jemter参数动态 jmeter动态参数传递_jemter参数动态_06

这样,所有的接口都可以运行成功了。

对于jmeter如何来传递cookie
1、通过http cookie管理器
2、通过http 信息头管理器

如果接口不在一个线程组,那么上面的传递方法是不可用的,需要定义一个全局变量来传

1、选项-->函数助手对话框

需要将提取出来的值设定为全局变量,
这里需要用到一个函数助手_setProperty()
这里还需要用到一个BeanShell 取样器,目的是用来执行下面的代码的。

jemter参数动态 jmeter动态参数传递_验证码_07

 

2、线程组上添加-->取样器-->BeanShell取样器,把刚才生成的复制进去

jemter参数动态 jmeter动态参数传递_jemter参数动态_08

这里需要2个参,可以都写进去

jemter参数动态 jmeter动态参数传递_数据_09

3、在后面的接口中需要引用这个全局变量,这里也需要用到一个函数助手_Property(),也可以用_P()

jemter参数动态 jmeter动态参数传递_数据_10

 

4、接口参数填写时,填写上一步生成的

jemter参数动态 jmeter动态参数传递_jemter参数动态_11

 

5、运行即可

注意:

为了保证先执行获取验证码接口,再执行登录接口,有2个方法:
1.测试计划中勾选-独立运行每个线程组
2.将获取验证码接口放在SetUp线程组中