【问题标题】:How to manage Cookies are required error page?如何管理 Cookies are required 错误页面?
【发布时间】:2021-09-19 00:27:23
【问题描述】:

我是 jmeter 的新手。我使用 blazemeter chrome 插件记录我的脚本。现在在登录时,我得到 需要 Cookie 在您的浏览器上禁用 Cookie。请启用 cookie 并刷新此页面我已设置 CookieManager.save.cookies=true 但没有运气

【问题讨论】:

    标签: cookies jmeter performance-testing jmeter-5.0


    【解决方案1】:

    根据JMeter project main page

    JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并没有执行浏览器支持的所有操作。 特别是,JMeter 不执行 HTML 页面中的 Javascript。 它也不像浏览器那样渲染 HTML 页面(可以将响应视为 HTML 等,但不包括时间在任何样本中,并且一次只显示一个线程中的一个样本)。

    因此,如果您的页面使用 JavaScript 来检查用户 cookie,则无法绕过此消息,这意味着您可以忽略它。

    但是,如果您无法继续进行,则意味着 JMeter 没有发送必要的 Cookie 标头,因此请确保将 HTTP Cookie Manager 添加到您的测试计划中。

    如果您添加了 HTTP Cookie 管理器,但仍然看到真正的浏览器发送 cookie 而 JMeter 没有(或发送部分)很可能意味着您的服务器返回格式错误或过期的 cookie,您需要为您的申请。

    最后但并非最不重要的一点是,如果您不得不忍受这些格式错误/损坏的 cookie 并且仍需要登录,您可以采用以下解决方法:

    • 将 HTTP Cookie 管理器的“实施”更改为限制较少的内容,即netscape

    • 将下一行添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中:

       CookieManager.check.cookies=false
      
    • Increase JMeter logging verbosity for the HTTP Cookie Manager 将下一行添加到 log4j2.xml 文件:

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

      这样您就可以找出 cookie 出了什么问题

    • 最后但并非最不重要的一点是,您始终可以使用 Regular Expression Extractor 手动从 Set-Cookie 响应标头中提取 cookie,然后再次手动将它们添加到 HTTP Cookie 管理器或 HTTP Header Manager

    【讨论】:

    • 感谢您的详细解释。我们可以忽略这个错误在这里帮助了我,问题在于会话令牌的相关性。但它帮助了很多学习
    猜你喜欢
    • 2011-07-24
    • 2016-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2020-07-11
    相关资源
    最近更新 更多