Skip to main content

内容安全策略

info
您将学习到
  • Cypress如何处理内容安全策略(CSP)
  • 如何配置Cypress以兼容您应用程序的CSP策略

内容安全策略(CSP)是浏览器的安全功能,允许您限制可以加载到应用程序中的资源。这对Cypress可能会造成问题,因为它需要向您的应用程序注入JavaScript才能运行测试并与DOM交互。本页介绍Cypress如何处理CSP以及如何配置使其与您的应用程序协同工作。

CSP有两种实现方式:

<meta>标签的实现方式完全受Cypress支持且无需任何配置。这是因为Cypress会在任何<meta>标签被解析之前就将必要的<script>标签加载到您的应用程序中。这样可以防止任何CSP指令应用于Cypress加载的脚本。

第二种实现方式需要您配置Cypress以允许将头部信息发送到您的应用程序。默认情况下,Cypress会在响应发送到浏览器之前移除所有CSP头部。这样做是为了防止Cypress被浏览器的CSP实现所阻止。

对于大多数应用程序测试,这不会造成任何问题。但是,如果您正在测试应用程序的CSP实现,则需要配置Cypress以允许将头部信息发送到浏览器。您可以通过设置experimentalCspAllowList配置选项来实现。

有关CSP的更多信息,请参阅MDN上的内容安全策略文档。

目录