Jmeter 的 HTTP Cookie Manager 组件会自动提取什么类型的 cookie?
What type of cookies are automatically extracted by HTTP Cookie Manager component of Jmeter?
HTTP Cookie 管理器像 Web 浏览器一样存储和发送 cookie
一些 cookie 是自动提取和存储的,其他 cookie 将使用用户定义的 cookie 字段在其中明确定义。Cookie 管理器会自动选择哪种类型的 cookie?
JMeter 根据 RFC 提取发送请求的所有有效 cookie。
JMeter 默认不保存无效 cookie 或跨域 cookie。
您可以通过设置 属性 来更改此行为:
- CookieManager.check.cookies=假
读这个:
您在 table 中输入的值是您要发送的值,并且之前服务器未设置这些值 例如:
- 您想在网站上模拟 cookie 持久性购物篮
- 您创建了一组篮子,每个篮子都有一个将在 cookie 中的 ID
- 您将这些 ID 放入 CSV 中,在 Jmeter 中使用 CSV 数据集导出变量 basketId
- 然后您使用 Cookie 管理器并输入 table basketId=${basketId}
不幸的是,没有唯一的正确答案。通常,响应中通过 Set-Cookie
header 出现的任何内容,至少会由 JMeter 进行评估,并考虑存储在 cookie 管理器中。但评估结果取决于 3 个参数,因此最终将保存以下 cookie:
一个简单的小规则:如果cookie是null
,jmeter.properties
中的CookieManager.delete_null_cookies
参数决定是否进一步评估或丢弃该cookie。默认情况下,具有空值的 cookie 将被丢弃。
根据所选 Cookie 政策 对所选 实施 进一步评估 Cookie(您指定的那 2 个参数在 UI)。对于 HC3CookieHandler 实现,默认是 compatibility 策略,描述为:
The policy that provides high degree of compatibility with common cookie management of popular HTTP agents.
对于HC4CookieHandler,默认策略是standard,描述为
State management policy compliant with a more relaxed profile defined by RFC 6265, section 4 intended for interoperability with existing servers that do not conform to the well behaved profile.
JMeter 文档对所有 cookie 策略的说明不多,尽管它们是 save/don 不保存决定的最重要因素。大多数政策与 cookie 的安全性和规范有关(例如,是否接受第三方 cookie;是否接受缺少字段的 cookie;是否将 sub-domains 视为第三方 cookie)。以下页面为您提供了策略摘要:for version 3 (matches HC3CookieHandler implementation) and version 4(匹配 HC4CookieHandler)。但要了解每项政策接受和拒绝的内容的完整详细信息,您必须深入研究 RFC。
HTTP Cookie 管理器像 Web 浏览器一样存储和发送 cookie
一些 cookie 是自动提取和存储的,其他 cookie 将使用用户定义的 cookie 字段在其中明确定义。Cookie 管理器会自动选择哪种类型的 cookie?
JMeter 根据 RFC 提取发送请求的所有有效 cookie。
JMeter 默认不保存无效 cookie 或跨域 cookie。
您可以通过设置 属性 来更改此行为: - CookieManager.check.cookies=假
读这个:
您在 table 中输入的值是您要发送的值,并且之前服务器未设置这些值 例如:
- 您想在网站上模拟 cookie 持久性购物篮
- 您创建了一组篮子,每个篮子都有一个将在 cookie 中的 ID
- 您将这些 ID 放入 CSV 中,在 Jmeter 中使用 CSV 数据集导出变量 basketId
- 然后您使用 Cookie 管理器并输入 table basketId=${basketId}
不幸的是,没有唯一的正确答案。通常,响应中通过 Set-Cookie
header 出现的任何内容,至少会由 JMeter 进行评估,并考虑存储在 cookie 管理器中。但评估结果取决于 3 个参数,因此最终将保存以下 cookie:
一个简单的小规则:如果cookie是
null
,jmeter.properties
中的CookieManager.delete_null_cookies
参数决定是否进一步评估或丢弃该cookie。默认情况下,具有空值的 cookie 将被丢弃。根据所选 Cookie 政策 对所选 实施 进一步评估 Cookie(您指定的那 2 个参数在 UI)。对于 HC3CookieHandler 实现,默认是 compatibility 策略,描述为:
The policy that provides high degree of compatibility with common cookie management of popular HTTP agents.
对于HC4CookieHandler,默认策略是standard,描述为
State management policy compliant with a more relaxed profile defined by RFC 6265, section 4 intended for interoperability with existing servers that do not conform to the well behaved profile.
JMeter 文档对所有 cookie 策略的说明不多,尽管它们是 save/don 不保存决定的最重要因素。大多数政策与 cookie 的安全性和规范有关(例如,是否接受第三方 cookie;是否接受缺少字段的 cookie;是否将 sub-domains 视为第三方 cookie)。以下页面为您提供了策略摘要:for version 3 (matches HC3CookieHandler implementation) and version 4(匹配 HC4CookieHandler)。但要了解每项政策接受和拒绝的内容的完整详细信息,您必须深入研究 RFC。