【发布时间】:2013-04-22 15:14:27
【问题描述】:
我有多个功能一起运行时会抛出此错误。如果我自己运行场景,则没有问题。我认为问题是在测试运行期间会生成弹出窗口并且没有正确关闭。我在 After 钩子中有代码,它会关闭所有打开的窗口,除了打开的第一个窗口。
错误:会话 [2c50a228-3ad7-a544-a6ca-5d173b86bc86] 没有驱动程序。浏览器窗口可能已关闭。 (Selenium::WebDriver::Error::UnknownError)
我在代码中添加了一堆打印语句来获取当前状态:
之后:会话 -> #Capybara::Session:0x00000100f811b8>
之前:驱动程序->硒
之前:会话对象 -#Capybara::Session:0x00000100f811b8>
之前:(开始)驱动对象#Capybara::Selenium::Driver:0x000001028ad790>
这个特定场景之前的场景失败了,这一定是罪魁祸首,但为什么呢?谁能指出我正确的方向?
挂钩后
#assume ONLY last window opened is to be closed
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
page.execute_script "window.close();"
#switch back to first window opened, make it the default window now
page.driver.browser.switch_to.window(page.driver.browser.window_handles.first)
环境:
水豚 (2.0.3)
黄瓜 (1.1.9)
selenium-webdriver (2.29.0)
红宝石 1.9.3p0
【问题讨论】:
-
哪一行报错,请分享
标签: ruby selenium cucumber capybara selenium-webdriver