2

我正在将 Selenium WebDriver 与 Ruby 一起使用,并尝试创建一个将在 IE8 中测试的脚本。我无法找到有关如何将 iedriver 设置为以 IE8 模式启动或如何在 webdriver 启动后将其切换到 IE8 的答案。我在 Windows 7 上,所以我只有 IE9 可用。我目前用于在 IE9 中启动 webdriver 的代码是

    $driver = Selenium::WebDriver.for :ie

任何帮助将不胜感激。我看了高低,但找不到这个问题的任何答案。如果您需要我提供更多信息,我会很乐意提供。非常感谢。

4

2 回答 2

6

如果要在运行时告诉 IE 版本,可以使用DesiredCapabilities.

  DesiredCapabilities ieCapabilities = null;
  ieCapabilities = DesiredCapabilities.internetExplorer();
  ieCapabilities.setBrowserName("internet explorer");
  ieCapabilities.setVersion("Version Number");
  driver = new InternetExplorerDriver(ieCapabilities);

有关 DesiredCapabilities使用此链接的更多信息http://code.google.com/p/selenium/wiki/DesiredCapabilities

在评论中你说我需要 IE 8 和 9。实际上不可能,Windows 目前支持在一个盒子中只安装一个 IE 版本。IEDriver 使用已安装的 IE 版本启动。

如果您想使用多个版本的 IE 进行测试,那么最好选择Windows Virtual Machines. 您可以使用RemoteWebdriver实例与虚拟机对话。

于 2013-01-23T06:38:13.147 回答
1

实际上,Selenium WebDriver 目前不支持此功能。目前有一个增强请求,要求将 IE 模式实现为 Manigandan 评论中引用的 DesiredCapabilities 功能的一部分。

您可以在此处遵循此增强请求:http ://code.google.com/p/selenium/issues/detail?id=2564

增强请求中提到的其他可能的解决方案是操作 FEATURE_BROWSER_EMULATION 注册表项(请参阅http://msdn.microsoft.com/en-us/library/ee330730(v=vs.85).aspx)或使用键盘命令打开 Developer工具并从那里选择模式(我不确定这个解决方案的效果如何,因为 Python 中的解决方法需要将 WebDriver 对象转换为 Selenium 1.0 对象)。

于 2013-01-23T14:17:52.327 回答