jmeter 如何 提取 cookie 中的值

2024-11-28 13:43:24
推荐回答(5个)
回答1:

不需要这么麻烦,jmeter配置文件中可以设置自动保存cookie变量,具体如下:

  1. 在bin目录下的jmeter.properties,搜CookieManager.save.cookies,把后面的值改为true,去掉行首的#号,然后保存后重启jmeter。

  2. 在需要取Cookie的线程里添加一个Http Cookie管理器(管理器可以默认为空,但是一定要添加,否则是不会存储cookie变量的)

  3. 经过上述操作,执行线程之后,获取到的cookie就会被保存在线程变量里,具体的格式为COOKIE_xxxx,其中xxxx为具体的实际cookie名;这样在同一个线程内其它操作组件都是可以直接通过${COOKIE_xxxx}来获取的。你可以尝试用Debug Sample来测试${COOKIE}值是不是有取到等候后cookie 中保存的jsession值。

回答2:

刚刚解决了这个问题。
首先(这一步不做是否能成功,没有进行验证),在bin目录下的jmeter.properties,搜CookieManager.save.cookies,把后面的值改为true,去掉行首的#号,然后保存后重启jmeter。
其次,http请求 设置成 跟随重定向——保证后面所有请求的jsessionid都是同一个。
第三步(最重要的),http请求参数设置,参数值:${COOKIE_JSESSIONID}

回答3:

是从上一页的响应数据中获取,
但是我的上一页响应数据是空的,找不到地方获取了……

回答4:

在线程组-配置元件-HTTP Cookie 管理器里面添加cookies
但是有些tomcat的session实现不是通过cookie的,而是通过session id的,就是说,用户登录有了session之后,tomcat就会维护一个sessonid,然后每次request的时候,要求每个http request的URL都要带上这个session id。
在tomcat中,使用URL Re-writing mode,URL是这样的:http://192.168.0.2:8080/easy/login.ec;jsessionid=410C3D3946535635683D662DF74A00AC,所以,这里你需要设置会话参数名称为: jsessionid,Jmeter就会到URL里面按照这个参数去把上面那个sessionid抓下来,然后每次request都带上这个东西

回答5:

你知道怎么取了么,我也想知道怎么取