启动watir-webdriver后Edge浏览器崩溃



我使用最新的selenium-webdriver(2.47.1)和watir-webdriver(0.8.0),并将Edge WebDriver安装在Ruby/bin文件夹中,就像其他WebDriver .exe文件一样;比如chromedriver或idriver。它似乎启动了Edge浏览器,但在关闭浏览器之前没有尝试访问URL,我的所有测试都失败了。我在Windows防火墙中允许它,当我运行我的rspec测试时,它显示:

Selenium::WebDriver::Error::NoSuchWindowError: no such window

有人得到MSWebdriver与watir-webdriver工作吗?

错误:

c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/response.rb:71:in `assert_ok': not implemented (Selenium::WebDriver::Error::WebDriverError)
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/response.rb:34:in `initialize'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/http/common.rb:78:in `new'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/http/common.rb:78:in `create_response'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/http/default.rb:90:in `request'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/bridge.rb:657:in `raw_execute'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/bridge.rb:635:in `execute'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/remote/bridge.rb:221:in `switchToDefaultContent'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.47.1/lib/selenium/webdriver/common/target_locator.rb:96:in `default_content'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/watir-webdriver-0.8.0/lib/watir-webdriver/browser.rb:385:in `assert_exists'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/watir-webdriver-0.8.0/lib/watir-webdriver/browser.rb:110:in `url'
        from c:/Ruby-222-x64/lib/ruby/gems/2.2.0/gems/watir-webdriver-0.8.0/lib/watir-webdriver/browser.rb:79:in `goto'
        from msedge.rb:4:in `<main>'

另外,IE工作正常

看起来这个问题已经很老了,但如果有人还在寻找答案,让我试着回答....

为MSEdge使用MSWebdriver时需要考虑以下几点

1)仅为您的操作系统构建下载驱动程序,其他MSWebDriver不起作用如何检查你的Windows 10操作系统版本?打开Run(Win+R),输入winver

2)下载正确的版本后,将其放在PATH变量中存在的任何文件夹中,或者将其放在某个位置,并将该位置添加到PATH变量

3)现在正常运行测试,适当初始化边缘浏览器例如:ruby-webdriver: driver = Selenium::WebDriver。:边缘

希望这有帮助!!自动化快乐! !

供参考-我已经能够在Windows 10上使用这种配置的Edge浏览器:

    Ruby 2.1.6
  • watir-webdriver (0.9.1)
  • selenium-webdriver (2.49.0)

:

  1. 从https://www.microsoft.com/en-us/download/details.aspx?id=48212
  2. 下载Microsoft Web Driver服务器的安装程序
  3. 运行安装程序,将WebDriver服务器的可执行文件放在:C:Program Files (x86) MicrosoftWebDriverMicrosoftWebDriver.exe
  4. 将可执行文件复制到搜索路径下的文件夹(即C:Ruby21bin)

请注意,服务器在启动新的Edge浏览器对象时启动,但如果浏览器意外终止,则可能会挂起。在这种情况下,需要在Edge浏览器的另一个实例能够与服务器通信之前,使用Windows任务管理器手动终止服务器。

最新更新