如何使用selenium在自动化中使用验证码

时间:2018-03-25 17:28:21

标签: java selenium

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

让我们从测试用例开始:

  1. 一项应该证明验证码能够防范机器人的测试。
  2. 第二个证明验证码在被人类填满时起作用。
  3. 应该证明如果验证码识别出人类(第3点的质量超出范围),应用程序将显示预期的结果页面。
  4. 如果这些测试2.可以自动化,那么验证码将没有任何价值(这意味着你可以准备一个充当人类的机器人,所以任何人都可以做到这一点)。 但是,您当然应该针对案例1测试您的申请。

    所以,在我看来,你的硒测试如何进行注册测试的唯一方法是解决验证码(关闭它)。

    为此目的,其中一个可能的解决方案是让后端存储在一个文件中(可以记录)一些随机令牌,这些令牌必须由您的硒测试从Web浏览器发送到后端(在cookie中或作为请求参数)。如果后端收到了正确的令牌,则应该忽略验证码结果。

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