0

当 SeleniumRC 启动浏览器时,总是会出现一个对话框,询问用户名/密码以登录我们的代理服务器(但是,它预先填充了用户名/密码,只需按下 OK 按钮)。

selenium.open("/");
selenium.type("q", "selenium rc");
selenium.click("btnG");
selenium.waitForPageToLoad("10000");
assertTrue(selenium.isTextPresent("Results * for selenium rc"));
// These are the real test steps        
//selenium.stop();

在第一个命令之后,出现对话框,我想以编程方式处理该对话框。有什么帮助吗?

4

1 回答 1

4

我认为您无法仅通过使用 Selenium 来解决此问题,因为模态对话框超出了 selenium 工作的 JavaScript 边界。

我能想到的两种选择是:

  • 使用WebDriver(即将合并到 selenium 2.0):对浏览器提供本机支持,允许您执行此类操作。
  • 使用操作系统级别的自动化库只是为了单击该提示,然后您将返回到 selenium 其余部分。可用的库是依赖于语言的,所以你会发现很多不同的选项,如java的Robot或 python 的pyWinAuto

更新:新的选择:

  • 您可以在 windows 下使用autoIT作为简单快速的解决方案。
于 2009-09-15T05:44:42.067 回答