在Jmeter的多个ThreadGroup以及多个HttpRequst之间传递参数
编者:李国帅qq:9611153 微信lgs9611153时间:2020-7-11概念:JMeter, 一个100%的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具。问题描述:测试的时候希望测试某个restful接口的响应能力,但是接口需要使用登录结果中的session和userId。那么就需要这么个流程:执行一次登录,保存session和userID,一次初始
时间: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查看访问接口
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)