Jmeter无法接收新的Cookie

时间:2018-10-26 09:47:38

标签: testing cookies jmeter automated-tests jmeter-4.0

我遇到一个问题,即Jmeter无法从http请求中获取最新的cookie。 有3个网站:

  • 主页:它会响应初始Cookie
  • 登录页面:它从“主页”请求初始cookie,并响应新的cookie
  • 搜索页面:它从“登录页面”中请求新的cookie,并以正确的结果进行响应

现在的问题是:

  • 主页:要求和响应良好
  • 登录页面:带有初始cookie的请求,获得正确的响应正文,但无法在响应头中获得“ set-cookie”(在结构中详细说明)
  • 搜索页:带有初始Cookie的请求未获得预期的响应

结构为:

  • -线程
  • -HTTP请求默认值:Protocol = https,然后输入服务器名称
  • -HTTP Cookie管理器:1.当策略为rfc2965时,“登录页面”在响应标头中接收“ set-cookie”,但“搜索” 页面”请求变为“没有cookie”; 2.“登录页面”无法接收 策略未在响应标头中添加“ set-cookie” rfc2965(所有其他),带有初始Cookie的“搜索页面”请求
  • -HTTP主页请求
  • -使用HTTP标头管理器进行HTTP登录页面请求
  • -具有HTTP标头管理器的HTTP搜索页面
  • -查看结果树

jmeter版本为4.0。

如何正确运行“搜索页面”脚本?

1 个答案:

答案 0 :(得分:0)

  1. 尝试将“策略”切换为netscape-限制较少
  2. 尝试将下一行添加到user.properties文件中:

    CookieManager.check.cookies=false
    

    需要重新启动JMeter才能拾取属性

如果没有帮助:

  1. Increase JMeter log verbosity for the HTTP Cookie Manager,方法是将下一行添加到 log4j2.xml 文件

    <Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
    

    并查看 jmeter.log 文件中是否有可疑条目

  2. 将下一行添加到 user.properties 文件:

    CookieManager.save.cookies=true
    

    通过这种方式,JMeter将以${COOKIE_yourCookieName}的形式将cookie存储到JMeter变量中-通过这种方式,您将能够将cookie手动添加到“搜索”页面请求中

  3. 在任何情况下,您都可以使用Set-CookieRegular Expression Extractor标头中提取值,并通过Cookie添加HTTP Header Manager标头,或在另一个HTTP Cookie管理器中提供Cookie(将其作为“搜索”请求的子项)