西秀岭

导航

Jmeter 进行压力测试手动追加Cookie 内容,

我在进行OpenID 登录的压力测试时候。

登录界面登录成功后返回一个 302  重定向请求。

 

 再这个返回中,设置了两个认证Cookie 信息   idsrv.session, idsrv

但是通过 Jmeter  的 HTTP Cookie Manager 却不能将  idsrv 信息设置到 后续的请求Cookie中。

 解决方法:

使用 BeanShell  PreProcessor 将缺失的Cookie 信息追加到 Cookie 中。

   将下面的 domain, path true( 是secure) 根据自己的情况进行替换。

   access_token: Cookie Key  对应上图  为 idsrv

   actual_token: 具体的内容

import org.apache.jmeter.protocol.http.control.Cookie;

sampler.getCookieManager().add(new Cookie("access_token", "actual_token", "domain", "path", true, Long.MAX_VALUE));

 

 

 经过上面的处理, 就可以成功完成重定向请求,返回需要的认证Code 了。

但是因为  BeanShell  PreProcessor 的 Cookie 信息是跨线程的,所以如果是多线程,后面的线程登录会失败。
这是需要将 HTTP Cookie Manager 中的 Clear cookies each iteration Check 上,就可以解决问题了。

   

 

posted on 2021-07-16 12:19  西秀岭  阅读(289)  评论(0编辑  收藏  举报