当上文中有一些变量的值在下文当中被使用
做接口测试的时候,有很多的接口之间是有数据关联的,
有些接口的参数需要用到上一个接口的数据,那么就需要做关联
一定要理清楚接口的业务逻辑
搞清楚当前这个接口需要用到哪些接口的哪些数据?
搞清楚你需要提取的数据,在哪里,是在body中,还是在响应头中?
根据不同的返回格式,需要选择不同的提取器
下面以登录为例:
1、如上图,登录时需要获取验证码,所以要先调验证码的接口,获取需要的数据
2、登录接口中传入提取的code和key,并提取登录后生成的token,为下一个接口使用
3、下一个接口传入登录时获取的token
这样,所有的接口都可以运行成功了。
对于jmeter如何来传递cookie
1、通过http cookie管理器
2、通过http 信息头管理器
如果接口不在一个线程组,那么上面的传递方法是不可用的,需要定义一个全局变量来传
1、选项-->函数助手对话框
需要将提取出来的值设定为全局变量,
这里需要用到一个函数助手_setProperty()
这里还需要用到一个BeanShell 取样器,目的是用来执行下面的代码的。
2、线程组上添加-->取样器-->BeanShell取样器,把刚才生成的复制进去
这里需要2个参,可以都写进去
3、在后面的接口中需要引用这个全局变量,这里也需要用到一个函数助手_Property(),也可以用_P()
4、接口参数填写时,填写上一步生成的
5、运行即可
注意:
为了保证先执行获取验证码接口,再执行登录接口,有2个方法:
1.测试计划中勾选-独立运行每个线程组
2.将获取验证码接口放在SetUp线程组中