编者:李国帅

qq:9611153 微信lgs9611153

时间:2020-7-11

概念:

JMeter, 一个100%的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具。

问题描述:

测试的时候希望测试某个restful接口的响应能力,但是接口需要使用登录结果中的session和userId。那么就需要这么个流程:执行一次登录,保存session和userID,一次初始化请求(使用登录的session),然后使用1000个线程执行待验证接口多次。

 

这时候,需要两个Thread Group,其中一个执行登录和初始化接口共一次,另一个执行待验证接口多次。

这时候,需要解决session和userId的获取,同个Thread Group直接变量传递,以及多个Thread Group的HttpRequest之间变量传递的问题。

 

查阅相关资料,得出以下结论:

解决方案:

1、保存变量

Login接口的响应中包含session,userId,可以使用Json Extractor取出来保存在变量里。

对Login接口请求添加Json Extractor,如下

 

然后对Json Extractor如下设置

 

2、如果是同一个Thread Group的请求,可以直接如下使用

 

3、如果是不同Thread Group的请求,需要通过BeanShell Assertion添加属性的方法访问

首先在login组里添加属性,如下:

 

在第二个组里如下访问:

 

4、最后通过View Results Tree查看访问接口

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐