2013-08-28 96 views
0

我必须在IE 10浏览器上运行Selenium测试。为了运行下面的脚本,我没有以下内容:无法在IE浏览器上运行Selenium脚本

  1. 下载IEDriverServer(因为我的机器64位为64位)从here
  2. 把该文件(.exe)文件“C://驱动程序”文件夹
  3. 设置路径“C://车手在环境变量
  4. 运行脚本

    require 'selenium-webdriver'  
    driver = Selenium::WebDriver.for :ie 
    
    driver.get "http://www.google.com" 
    
    button = driver.find_element(:id, "gbqfba") 
    puts button.text 
    driver.quit 
    

运行aboe脚本导致到以下错误:

c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/response.rb:51:in `assert_ok': Unable to find element with id == gbq 
fba (Selenium::WebDriver::Error::NoSuchElementError) 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/default.rb:66:in `request' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:629:in `raw_execute' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:607:in `execute' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/remote/bridge.rb:575:in `find_element_by' 
     from c:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.33.0/lib/selenium/webdriver/common/search_context.rb:42:in `find_element' 
     from ie.rb:7:in `<main>' 

同一个脚本运行正常与Chrome和Firefox浏览器。请帮我理解我做错了什么。

+0

你正在使用哪个版本的webdriver? – Omkar

+0

Selenium webdriver版本:2.33.0 – TDHM

回答

1

在这里的预感,但你有没有跟着这个;

在Windows Vista或Windows 7上的IE 7或更高版本上,必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域的值相同即可。要设置保护模式设置,请从工具菜单中选择“Internet选项...”,然后单击安全选项卡。对于每个区域,在标签为“启用保护模式”的选项卡底部会出现一个复选框。

+0

感谢RobbieWareham的帮助!但我不明白这个逻辑。我会找到它。再次感谢! – TDHM

+0

您还可以在[本博客文章]中详细解释此需求背后的原因(http://jimevansmusic.blogspot.com/2012/08/youre-doing-it-wrong-protected-mode-and.html) – JimEvans

1

必需的配置

  1. 的IEDriverServer exectuable必须下载并放置在您的路径。

  2. 在Windows Vista或Windows 7上的IE 7或更高版本上,必须将每个区域的保护模式设置设置为相同的值。该值可以打开或关闭,只要每个区域的值相同即可。要设置保护模式设置,请从工具菜单中选择“Internet选项...”,然后单击安全选项卡。对于每个区域,在标签为“启用保护模式”的选项卡底部会出现一个复选框。

  3. 浏览器缩放级别必须设置为100%,以便可以将原生鼠标事件设置为正确的坐标。

欲了解更多信息请访问http://code.google.com/p/selenium/wiki/InternetExplorerDriver

+0

感谢Abhishek提供帮助,并且最重要的是指向doc! Upvoted the answer :) – TDHM

1
  • 下载IEDriverserver
  • 解压压缩文件夹,并在环境变量路径添加它们。在系统变量

    我的电脑“(右键)属性>高级系统设置>环境变量

  • 单击路径,并选择编辑。
  • 粘贴驱动程序位置。

enter image description here

@driver = Selenium::WebDriver.for :ie

或|

@driver = Selenium::WebDriver.for :internet_explorer

+1

确保在对PATH进行更改后重新启动机器。在我重新启动之前,它不适用于我。 – Nora

相关问题