jmeter跨线程调用参数

一, 动态关联

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

下一个接口需要用到上面的接口返回的数据

2,一定要理清楚接口的业务逻辑,搞清楚接口需要哪些数据,你要用到的数据是在响应的body还是header中

3,动态关联的两种情况

  A,两个需要关联的接口在同一个线程组中

  B,两个接口不再同一个线程组中

     需要将提取出来的值设置成功全局变量,这里要用到一个函数助手__setProperty(),

最后生成一个函数:${__setProperty(SmsCode,${SMScode},)},接着添加一个bean shell取样器,目的是用来执行这个代码的

如图:1,打开函数助手

2,设置全局变量

3,设置bean shell取样器

4,接着还要在函数助手中添加一个引用函数,直接引用,如图

或者另外一个线程组添加BeanShell Sampler,接收参数

String loginkey=props.get("SmsCode");
vars.put("vars_loginkey",loginkey);

5,引用到下一个线程组中:

 

遇到的问题,因为线程组是随机运行的,如果下面的线程组(注册功能)先运行,那么就会出错,怎么解决呢?两种办法

1, 在测试计划中勾选独立运行每个线程组

 

运行成功:

1, 把验证码的接口放到setUp线程组中(推荐使用)

 

也是成功的,这种方式要快很多,推荐使用第二种方法

posted @ 2020-09-04 10:32  北极星0202  阅读(250)  评论(0编辑  收藏  举报