初始watir-webdriver启动后边缘浏览器崩溃

我正在使用最新的selenium-webdriver(2.47.1)和watir-webdriver(0.8.0),并将Edge WebDriver安装在Ruby / bin文件夹中,就像其他webdriver.exe文件一样; 像chromedriver或iedriver。 它似乎启动了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 `' 

此外,IE按预期工作。

看起来这个问题已经变得很老但是如果有人还在寻找答案的话,我试着回答一下……

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

1)仅为您的操作系统构建下载驱动程序,其他MSWebDriver不工作如何检查您的Windows 10操作系统构建? 打开运行(Win + R)并键入winver

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

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

希望这可以帮助!! 快乐自动化!!

仅供参考 – 我已经能够使用此配置在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下载Microsoft Web Driver服务器的安装程序
  2. 运行安装程序,它将Web驱动程序服务器的可执行文件放在:C:\ Program Files(x86)\ MicrosoftWebDriver \ MicrosoftWebDriver.exe
  3. 将可执行文件复制到搜索路径中的文件夹(即C:\ Ruby21 \ bin \)

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

    Interesting Posts