jmeter不同线程组间的cookie传递

  最近使用jmeter测试接口并发,所测接口需要登录后才可执行,开始尝试把登录和接口执行写到一个线程组中,但是发现在并发执行时,单点登录容易报错,故改成登录单独线程组。分线程组后,由于cookie管理器所存的cookie只能在同一线程组共享,不同组无法共享,需要进行cookie的传递,特将传递方法记录如下:

  1. 取出登录线程组的cookie

  •   首先更改jmeter.properties配置文件中CookieManager.save.cookies=true(注意更改后,将前面的’#’去掉),然后重启jmeter,
  •   在登录线程组中,添加cookie管理器
  •   接下来,添加 BeanShell Sampler 或 BeanShell PostProcessor ,使用COOKIE_para(para代表cookie中参数名,如cookie中写jsessionid=sju1d3e3ad322,则用COOKIE_jsessionid来取jsessionid的值)来取出cookie信息。

  2. 设置cookie值为jmeter property,以供全局调用

  • 在 BeanShell Sampler 或 BeanShell PostProcessor中,使用${__setproperty(jid,jsessionid.false)}设置全部属性

  3. 在并发执行线程组,获取cookie执行

  • 在接口头信息中,设置cookie字段,值为jsessionid={__P(jid)}(如识别内容放在请求中的,直接拼接到URL中)
posted @ 2017-09-15 10:49  Alan1109  阅读(2051)  评论(0编辑  收藏  举报