Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何验收测试受验证码保护的web应用程序功能?_Selenium_Captcha_Pyramid_Recaptcha_Acceptance Testing - Fatal编程技术网

Selenium 如何验收测试受验证码保护的web应用程序功能?

Selenium 如何验收测试受验证码保护的web应用程序功能?,selenium,captcha,pyramid,recaptcha,acceptance-testing,Selenium,Captcha,Pyramid,Recaptcha,Acceptance Testing,我想在我的站点上的某个功能中添加验证码,如reCaptcha。我如何调整我的验收测试 是在暂存站点上禁用验证码的唯一解决方案吗 澄清: 当然,我说的不是暴力破解我自己的验证码,而是从服务器端向验证码中注入我的测试所知道的状态的一些选项 PS我的服务器端代码使用金字塔框架,我的测试使用Selenium编写是的,唯一的选择是禁用Captcha,这是一个很好的理由。如果使用Selenium很容易绕过验证码,那么为什么首先要使用验证码?重点不是用Selenium测试来测试验证码——为什么要花费大量精力测

我想在我的站点上的某个功能中添加验证码,如reCaptcha。我如何调整我的验收测试

是在暂存站点上禁用验证码的唯一解决方案吗

澄清:

当然,我说的不是暴力破解我自己的验证码,而是从服务器端向验证码中注入我的测试所知道的状态的一些选项


PS我的服务器端代码使用金字塔框架,我的测试使用Selenium编写是的,唯一的选择是禁用Captcha,这是一个很好的理由。如果使用Selenium很容易绕过验证码,那么为什么首先要使用验证码?

重点不是用Selenium测试来测试验证码——为什么要花费大量精力测试第三方工具


相反,我会做一个硒测试来验证你的验证码是否出现。这将验证您的验证码是否存在并处于活动状态。在那次测试之后,我会关闭验证码并继续进行其他验证测试。我还有最后一步,打开验证码并重复检测验证码是否激活的测试。这样,您就可以确保在重新激活验证码时不会遗漏任何内容。

使用输入框中的测试代码禁用验证码。如果验证码失败但与测试代码匹配,请继续

现在,我的舞台是生产的精确副本。我担心,如果我添加一些逻辑来检测我们是在准备阶段还是在生产阶段,我会遇到风险。如果攻击者成功地让我的站点认为它正在登台,该怎么办?所有验证码都将消失。硒测试期间禁用+1。我通常有一个用于验收的配置文件和一个用于生产的配置文件。这是我将设置一个配置参数的地方,对于
captcha=true/false
@JaspervandenBosch,您是正确的,但是如果攻击者能够做到这一点,那么担心captcha被禁用是您最不担心的。使用代码来检测您运行的环境是完全合乎逻辑和合理的。这将是staging.ini与production.ini的动机,其中一个(正如Antoine所建议的)
captcha=false
。我更喜欢这种方法,而不是同时禁用captcha,因为我可以依靠我的验收测试来确保验证码是正确的。然而,我还不确定如何实现这一点。在测试之间重新启动并重新配置应用程序?是的,在测试之间需要一个步骤来关闭验证码。我对这个平台还不太熟悉,所以不能说你是否需要重启你的应用程序。显然,当您完成测试通过时,您需要启用并可能重新启动相反的操作。