如何绕过Cypress工具中的验证码

Roh*_*nde 5 captcha cypress

我正在尝试创建一个简单的测试脚本来验证注册页面的验证消息,但由于验证码,我的脚本遇到了错误。如何绕过它?我正在使用最新的 Cypress 版本 10。

我尝试将 chrome websecurity 禁用为 false,但它仍然没有被禁用。

Dan*_*iel 5

如果可以使用客户端脚本绕过验证码,那么它将变得毫无用处。

当您正在进行集成测试并模拟所有 API 交互时,您也可以模拟该交互。如果它是 e2e 测试,您需要禁用它或能够通过有效答案。

有几个选项可用

最简单的可能是使用验证码测试密钥。信息: https://developers.google.com/recaptcha/docs/faq#id-like-to-run-automated-tests-with-recaptcha.-what-should-i-do

对于 reCAPTCHA v3,为测试环境创建单独的密钥。分数可能不准确,因为 reCAPTCHA v3 依赖于查看真实流量。

对于 reCAPTCHA v2,请使用以下测试密钥。您将始终获得“无验证码”,并且所有验证请求都会通过。

Site key: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
Secret key: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
Run Code Online (Sandbox Code Playgroud)

请注意,这仍然需要在服务器上实现,并且只能在测试服务器上运行,而不能在生产服务器上运行。

您还可以设置测试服务器,以确保验证码不会呈现,或者服务器在测试模式下或提供共享密钥时完全绕过验证。后面的策略可以在生产环境中使用,但如果密钥以某种方式暴露,它会使系统容易被绕过。