标题Cookie“sid”值为变量

时间:2014-01-17 01:24:32

标签: cookies jmeter

我需要从Jmeter Cookie中提取“sid”值。以下是jmeter标头输出示例

GET htts://example.for.com/apex/AppDashboard?jl=1`

Cookie数据:

oinfo=c3RhdHVzPURlbW8mdHlwZT0yJm9pZD0wMERRMDAwMDAwR0phQkc=; logouturl=https://example.for.com/Login; disco=Q:00DQ000000GJaBG:005Q000000NwS1U:1; autocomplete=1; sid=00DQ000000GJaBG!ARoAQPklHZykcaAaJkI9prEbHROxU2CzxRfMDGKwMGpv5rZYwOOKd_GRiVRiYVYRKFTzYk6Vg0Zu48vmM5FyFSRQ4ZPtvQzR; sid_Client=000000NwS1U000000GJaBG; clientSrc=204.14.239.161; oid=00DQ000000GJaBG; apex__eventId=a0kQ0000002FecHIAS

请求标题:

Connection: keep-alive
Accept-Language: en-US,en;q=0.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:26.0) Gecko/20100101 Firefox/26.0
Referer: htts://example.for.com/apex/SecureLanding?eventId=a0kQ0000002FecHIAS
Accept-Encoding: gzip, deflate
Host: example.for.com

我需要从cookie中提取“sid”值。

2 个答案:

答案 0 :(得分:12)

一种选择是在响应头上使用正则表达式提取器。您可以通过右键单击HTTP请求>来执行此操作。添加>后处理器>正则表达式提取器。填写相应的字段:

  1. 要检查的响应字段:标题
  2. ReferenceName: SID_VALUE
  3. 正则表达式: sid =(。*);
  4. 模板: $ 1 $
  5. 比赛编号: 1
  6. 如果响应中的Cookie中存在SID,您可以通过将其引用为 $ {SID_VALUE} 来访问其他采样器/测试/等。

答案 1 :(得分:11)

另一个更简单的选择是添加一个自动处理cookie的HTTP Cookie Manager。但是,您需要在CookieManager.save.cookies=true文件中设置jmeter.properties属性,或者将相应的参数传递给JMeter启动脚本,即

jmeter -JCookieManager.save.cookies=true

之后,您将看到所有Cookie为JMeter变量。可视化它们的最简单方法是使用Debug SamplerView Results Tree侦听器

在您的情况下,您可以访问sid Cookie

${COOKIE_sid}

其他Cookie也可以类似地获得${COOKIE_sidClient}${COOKIE_clientSrc}