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
Java 如何在selenium自动化中使用captcha_Java_Selenium - Fatal编程技术网

Java 如何在selenium自动化中使用captcha

Java 如何在selenium自动化中使用captcha,java,selenium,Java,Selenium,我是selenium的新手,现在需要编写一个脚本为网站的新用户注册。 但挑战在于确认复选框“我不是机器人”,其中验证码要求用户选择具有相同上下文的不同图像(比如有车的图像) 你能确认一下这是否可以自动化吗? 如果是,那么应该采取什么方法 提前感谢。让我们从测试用例开始: 一个测试应该证明captcha可以防止机器人攻击 第二个证明验证码在被人填满时有效 应该证明,如果验证码识别出一个人(其质量超出第3点的范围),应用程序将显示预期结果页面 如果这些是测试2。可以自动验证,那么验证码就没有价值了(

我是selenium的新手,现在需要编写一个脚本为网站的新用户注册。 但挑战在于确认复选框“我不是机器人”,其中验证码要求用户选择具有相同上下文的不同图像(比如有车的图像) 你能确认一下这是否可以自动化吗? 如果是,那么应该采取什么方法


提前感谢。

让我们从测试用例开始:

  • 一个测试应该证明captcha可以防止机器人攻击
  • 第二个证明验证码在被人填满时有效
  • 应该证明,如果验证码识别出一个人(其质量超出第3点的范围),应用程序将显示预期结果页面
  • 如果这些是测试2。可以自动验证,那么验证码就没有价值了(这意味着你可以准备一个机器人,它可以像人一样工作,所以任何人都可以这样做)。 当然,您应该根据案例1测试您的应用程序

    所以,在我看来,selenium测试进行注册测试的唯一方法是绕过captcha(关闭它)

    为此,一种可能的解决方案是让后端在一个文件(可能是ba日志)中存储一些随机令牌,这些令牌必须由selenium测试从web浏览器发送到后端(在cookie中或作为请求参数)。若后端接收到正确的令牌,它应该忽略验证码结果

    根据风险接受程度(取决于应用程序支持的业务),应在生产时关闭此解决方案(如果关闭,还应在部署过程中进行测试)。

    此解决方案可能重复