如何在 Jmeter 中生成 cookie 并将其发送到请求中

sah*_*ana 5 cookies jmeter httpcookie

我对 Jmeter 相当陌生,因此无法弄清楚以下内容:我正在测试需要在标头中发送有效 cookie 的 Web 服务。我有一个用于验证用户 ID 和密码的端点 url。如何根据 url 验证凭据并为用户提取 cookie 并将其发送到 Jmeter 中请求的标头中?

Dmi*_*i T 7

JMeter 提供了自动处理 cookie 的HTTP Cookie 管理器,因此在大多数情况下,除了将 HTTP Cookie 管理器添加到您的测试计划之外,您不需要做任何事情

但是在某些情况下,即在某些CSRF 实现中,您需要添加一个请求标头,其中包含先前响应特定的 cookie 值。在这种情况下,你应该表现得像:

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

    CookieManager.save.cookies=true
    
    Run Code Online (Sandbox Code Playgroud)
  2. 重新启动 JMeter 以选择属性。上面的设置“告诉”JMeter 将 cookie 值存储为以 为前缀的JMeter 变量COOKIE_。因此,例如,如果您有名称为foo您的cookie将能够访问其值作为${COOKIE_foo}
  3. 添加HTTP 标头管理器 并将其设置为使用${COOKIE_foo}作为值发送所需的标头(替换foo为您的实际 cookie 名称)

更详细的信息:在 JMeter 中使用 HTTP Cookie 管理器