java - 在 Selenium 中绕过验证码

标签 java unit-testing firefox selenium

一旦我登录到我正在单元测试的网站,我就会运行很多自动化测试,但我不能(没有权限)从登录页面删除验证码。

有没有什么方法可以使用 selenium 2.0,这样我就可以启动 firefox 的 WebDriver 实例,然后手动执行验证码,然后让 WebDriver(我使用服务器的 java jar)“接管”从那里?

谢谢!

最佳答案

以下片段:

  1. 加载 BING 主页
  2. 提示用户执行搜索
  3. 在测试浏览器中加载搜索结果后,系统会提示用户按 ENTER 键
  4. 用户搜索的第一个结果链接被点击

    driver.get("http://www.bing.com");
    
    System.out.println("Loaded BING homepage");
    System.out.println("Search for some term and then press ENTER");
    
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    reader.readLine();
    
    System.out.println("Clicking on the first link ...");
    
    driver.findElements(By.className("sa_wr")).get(0)
          .findElement(By.tagName("a")).click();
    
    Thread.sleep(3000);
    
    driver.quit();
    

您可以使用类似的代码加载登录页面,提示测试人员输入验证码,然后继续测试。

关于java - 在 Selenium 中绕过验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8530875/

相关文章:

java - 为什么 JSON 不需要 setXXX 方法?

c# - NSubstitute 检查收到的电话不起作用

java - 如果该参数的状态已更改,如何验证传递的参数是否具有正确的参数?

Firefox 不加载 iframe 内容

javascript - Firefox 中使用 .toLocaleString() 和 moment.js 的日期无效

Java可扩展小程序

java - 任何人都可以建议一些在 Restful 服务中支持部分表示的最佳实践吗

java - 如何比较 java swing 按钮图标以检查相等性?

c# - 为什么 NotNullValidator 不起作用?

android - 渐进式 Web 应用程序与原生应用程序在 Android 上具有哪些功能,反之亦然