【问题标题】:How to close or disable base authentication popup in WebDriver(FirefoxDriver) test如何在 WebDriver(FirefoxDriver) 测试中关闭或禁用基本身份验证弹出窗口
【发布时间】:2011-11-05 06:18:20
【问题描述】:

我正在使用 WebDriver 来测试我的应用程序,但有些页面正试图从另一台服务器获取资源,这需要身份验证。我的测试不需要这些资源,而且我没有凭据。 当弹出窗口出现时,它会停止测试运​​行。

我尝试使用webDriver.switchTo().alert().dismiss(); 关闭弹出窗口,但显然它没有提醒。

我还尝试使用 firefox 配置文件禁用弹出窗口:

FirefoxProfile profile = new FirefoxProfile();

profile.setPreference("capability.policy.policynames", "strict") ;
profile.setPreference("capability.policy.strict.sites",  "http://localhost:9000") ;
profile.setPreference("capability.policy.strict.Window.alert", "noAccess") ;
profile.setPreference("capability.policy.strict.Window.confirm", "noAccess") ;
profile.setPreference("capability.policy.strict.Window.prompt", "noAccess") ;
FirefoxDriver driver = new FirefoxDriver(profile);

但它没有帮助。

提前致谢。

【问题讨论】:

    标签: java integration-testing webdriver selenium-webdriver


    【解决方案1】:

    我认为 Web 驱动程序的设计没有考虑到上述意图,而且我也看不到在不久的将来会提供任何此类 api。他们希望测试其行为与人类看到页面的准确方式。

    话虽如此,您可以控制运行测试的站点。你不能自己阻止这些资源可能是在使用一些配置设置,当配置中的标志设置为 true 时不加载资源。

    设置可能类似于 IsSeleniumInstance。

    希望这会有所帮助。

    【讨论】:

    • 我应该在不久的将来收到该凭据,并且执行其他功能来禁用图像等资源以进行测试是没有意义的,因为它可以在将来进行测试。
    【解决方案2】:

    这是 Selenium 的一个未解决问题:http://code.google.com/p/selenium/issues/detail?id=34 Firefox 有一个修复程序,但我不相信它包含在任何当前版本中。该修复仍需要针对其他支持的浏览器实施。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      相关资源
      最近更新 更多