测试破损



网络浏览器正在弃用第三方 Cookie,因此您需要测试您的网站,了解它在第三方 Cookie 被屏蔽后的表现。这将有助于您开始过渡到替代解决方案

用于测试的 Chrome 标志

如需在 Chrome 中不使用第三方 Cookie 来测试网站是否存在中断问题,最好的方法是使用第三方 Cookie 逐步淘汰标记。此标志可让 Chrome 在第三方 Cookie 被弃用后正常运行,因此非常适合在不使用跨网站 Cookie 的情况下测试用户体验。设置标志的方式有两种:

  • 启用 chrome://flags/#test-third-party-cookie-phaseout
  • 使用标志 --test-third-party-cookie-phaseout 从命令行运行 Chrome

此标志将 Chrome 设置为阻止第三方 Cookie,并确保新功能临时缓解措施都处于有效状态。

您可以通过使用 chrome://settings/cookies 屏蔽的第三方 Cookie 浏览网站来测试您的网站,不过,逐步停用标记可确保新功能和更新功能也已启用。阻止第三方 Cookie 是检测问题的好方法,但不一定能帮助您验证问题是否已解决。

如果您为自己的网站维护了有效的测试套件,则应同时运行两次:一次使用常规设置下的 Chrome 运行,另一次在启动了 --test-third-party-cookie-phaseout 标志的同一版本的 Chrome 中运行。如果第二次运行(而非第一次)运行失败,则最好调查是否发生了第三方 Cookie 依赖关系。

除了 --test-third-party-cookie-phaseout 之外,还有一些适用于特定测试场景(例如参与弃用试用)的标志:

  • Windows、Mac、Linux、ChromeOS 和 Android 均支持以下所有标志。
  • 您可以通过 chrome://flags 页面命令行设置这些标志。
  • 如需使用 --enable-features--disable-features 从命令行为多个功能设置标志,请在每个功能名称之间添加英文逗号。
  • 通过 chrome://flags 设置标志,然后在 chrome://version 页面上查看 Command Line 值,就可以确定用于命令行标志的值。
chrome://version 页面,其中突出显示了“命令行”部分中的标志
chrome://version page 命令行部分,显示了自定义标志设置

在阻止临时缓解措施的情况下进行测试

在使用逐步弃用标记测试您的网站时,临时缓解措施(例如第三方 Cookie 弃用试用宽限期)可能意味着第三方 Cookie 不受您的网站或其访问的第三方服务的限制。

为确保临时缓解措施不会掩盖中断问题,您可以使用标志阻止缓解措施来测试您的网站:

下表显示了如何使用这些标志,并说明了它们停用或启用时的效果。


名称 Purpose 最低版本 chrome://flags 命令行标志
针对第三方 Cookie 的跟踪保护 已启用:开启跟踪保护
• 在地址栏(多功能框)中显示眼睛图标界面,以允许用户临时为网站启用第三方 Cookie。
• 提供 chrome://settings/trackingProtection,而不是 chrome://settings/cookies
121 #tracking-protection-3pcd --enable-features=TrackingProtection3pcd

--disable-features=TrackingProtection3pcd
测试逐步淘汰第三方 Cookie 已停用:这是默认值。(无影响。)

已启用:限制第三方 Cookie 并启用跟踪保护界面,以便与逐步淘汰第三方 Cookie 后的 Chrome 行为保持一致。

此设置会覆盖 BlockThirdPartyCookies=false Chrome 企业版政策,但会被内容设置(例如由 Storage Access APICookiesAllowedForUrls 政策授予的设置)替换。

标志和设置介绍了用户设置如何与此标志交互。
121 #test-third-party-cookie-phaseout --test-third-party-cookie-phaseout
用于测试的第三方 Cookie 弃用试用补助金 已启用:这是默认值。允许参与弃用第三方 Cookie 的试用。(此标志无需设为“已启用”即可参与试用。)

已停用:让 Chrome 像未提供第三方弃用试用令牌(即使有)一样运作。换句话说:停用第三方弃用试用。这对于测试在没有第三方 Cookie 的情况下,长期修复在参与弃用试用的网站上是否有效。

如需生效,必须启用 #tracking-protection-3pcd
121 #third-party-cookie-deprecation-trial --enable-features=TpcdSupportSettings

--disable-features=TpcdSupportSettings
用于测试的顶级第三方 Cookie 弃用试用补助金 已启用:若要允许顶级第三方 Cookie 弃用试用,则必须启用。

已停用:与第三方试用一样,即使提供了有效的试用令牌,Chrome 也会像尚未提供有效的试用令牌一样。换句话说:停用第一方弃用试用。这对于测试在参与第一方弃用试用的网站上,能否在不使用第三方 Cookie 的情况下进行长期修复工作时,这种做法会非常有用。
122 #top-level-third-party-cookie-deprecation-trial --enable-features=TopLevelTpcdSupportSettings

--disable-features=TopLevelTpcdSupportSettings
弃用第三方 Cookie 用于测试的元数据授权 已启用:这是默认值。允许第三方 Cookie 宽限期生效。

已停用:让 Chrome 假定 [宽限期](https://goo.gle/3pcd-grace-period) 未生效。 这还可用于在宽限期结束之前检查您的网站是否已正确部署弃用试用令牌(对于宽限期内的网站)。
121 #tpcd-metadata-grants --enable-features=TpcdMetadataGrants

--disable-features=TpcdMetadataGrants
逐步弃用第三方 Cookie 的便捷测试 已启用:这是默认值。允许为此 Chrome 客户端设置 Chrome 协助测试组实验组。

已停用:不允许 Chrome 设置实验组。

其他值:手动设置特定实验组。

大多数开发者都需要使用其中一个 Enabled Force 设置。这些会绕过资格检查,并以可预测的方式将 Chrome 客户端放入选定的组。Enabled 设置允许将客户端添加到实验组中,但不强制将客户端包含在内。
121 #tpc-phase-out-facilitated-testing --enable-features=CookieDeprecationFacilitatedTesting

--disable-features=CookieDeprecationFacilitatedTesting

对于其他值,命令行值取决于设置。例如,如需设置 Enabled Force Control 1

--enable-features=CookieDeprecationFacilitatedTesting:force_eligible/true/disable_3p_cookies/false/disable_ads_apis/false/label/fake_control_1%2E1/version/9994

如果您需要从命令行设置这些值,最简单的方法是从 chrome://flags 设置该值,重启浏览器,然后从 chrome://version 页面的命令行部分复制标志值。
第三方 Cookie 授权启发式测试 默认:允许基于启发法的缓解措施

已启用:无影响。(与默认选项相同)。

已停用:不允许基于启发法的缓解措施。这对于测试其他长期修复方案(无第三方 Cookie)是否按预期运行,而不采用启发法缓解措施,这非常有用。

其他标志值如下所示。

CurrentInteraction:要求用户在对话框或重定向流程中在第三方网站上进行互动。

ShortRedirect 重定向启发式算法会将 Cookie 访问权限授予 15 分钟:如基于启发法的缓解措施中所述,在重定向场景中允许第三方 Cookie。

LongRedirect:重定向启发法授予 Cookie 访问权限 30 天。

MainFrame:只有主框架发起的弹出式窗口才能启用重定向启发法。

AllFrameInitiator
:任何框架发起的弹出式窗口都可以启用重定向启发法。
120 #tpcd-heuristics-grants --enable-features=TpcdHeuristicsGrants

--disable-features=TpcdHeuristicsGrants

对于其他值,请从 chrome://flags 设置值,重启浏览器,然后从 chrome://version 页面的命令行部分复制标志值。


Chrome 标志和 Chrome 设置

从 Chrome 用户设置中屏蔽第三方 Cookie 与在启用 chrome://flags#test-third-party-cookie-phaseout 标志的情况下使用 Chrome 时默认行为的作用不同。

仅启用该标志后,Chrome 的“跟踪保护”测试组将照常处理第三方 Cookie:在少数情况下仍允许使用第三方 Cookie,以确保关键服务正常运行;此外,也可以通过 CHIPSStorage Access API 的长期解决方案使用第三方 Cookie。

如果从 chrome://settings/trackingProtection 启用了阻止所有第三方 Cookie(对于不在跟踪保护组内的 Cookie,则从 chrome://settings/cookies阻止第三方 Cookie)启用阻止所有第三方 Cookie 时,除非 Chrome 企业版的 CookiesAllowedForUrls 政策允许第三方 Cookie,或者用户明确授予了以下权限,否则 Chrome 不允许以任何方式访问第三方 Cookie 或其他未分区状态:

  • 使用地址栏(多功能框)中的眼睛图标。
  • chrome://settings/trackingProtection 页面的获准使用第三方 Cookie 的网站下添加一个条目。
  • chrome://settings/cookies 上向已允许使用第三方 Cookie 添加一个条目。

如果将 Chrome 企业版用户的 BlockThirdPartyCookies 政策设为 false,他们将无法屏蔽来自 chrome://settings 的第三方 Cookie。

使用标志组合来模拟使用场景

场景 #tracking-protection-3pcd #third-party-cookie-deprecation-trial #tpcd-metadata-grants
1% 进行测试,已忽略弃用试用 已启用 已停用 已停用
网域已批准注册宽限期,但尚未提供令牌 已启用 已启用 已启用
宽限期已启用,令牌已提供 已启用 已启用 已停用
宽限期不再有效,已提供令牌 已启用 已启用 [无影响]

支持

了解详情