【问题标题】:Capybara/Cucumber/Ruby issue: Control+C close bowser sessionCapybara/Cucumber/Ruby 问题:Control+C 关闭 Bowser 会话
【发布时间】:2016-04-18 16:38:05
【问题描述】:

在我的项目中更新 ruby​​ 和一些 gems 版本后,当我在 cucumber 执行控制台中按 control+c 时,浏览器实例完全关闭.......直到现在,控制台进程已完成,但 webdriver 实例在浏览器中保持打开状态并手动进行交互..... 问题可能出在哪里? 一些红宝石或黄瓜环境宝石? 网络驱动程序? 在不回滚到所有先前版本的情况下修复一些 hack? 我已经尝试回到以前的 ruby​​ 版本,但我仍然遇到问题。

谢谢。

【问题讨论】:

    标签: ruby selenium selenium-webdriver cucumber capybara


    【解决方案1】:

    您确定您的代码不会在 selenium 实例上调用 quitclose 吗?无论如何,如果调用者脚本结束,浏览器实例将关闭,这并不让我感到特别惊讶。

    我自己实际上并没有这样做,但我已经阅读了一些关于保持 selenium 启动的浏览器持续打开的方法。

    它基本上涉及从一个单独的进程启动一个 selenium 浏览器,然后配置您的代码以连接到该现有实例。请参阅 this SO question 的主题(how-to-use-attach-an-existing-browser-using-selenium)。

    另一种选择是运行Selenium server 并让您的代码发送命令以启动浏览器实例。这样做的好处是您有一个方便的 Web 界面来跟踪所有正在运行的 selenium 实例。

    【讨论】:

    • 我有一个在场景全局方法之后调用 window.close() 的代码。但是在 gem 和 ruby​​ 更新之前,在运行场景中间的控制台中的 control+c 不会关闭 de Web 浏览器窗口....这对我来说是个大问题,因为无法继续在 Web 应用程序中导航以手动检查一些在此特定场景下测试注入、服务响应和一般行为。
    • 为什么不为 rails 控制台打开一个单独的终端选项卡,并在您需要启用 selenium 的浏览器打开时保持测试运行?
    猜你喜欢
    • 2011-07-05
    • 2012-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多