【问题标题】:How do I use ruby-debug in Capybara w/ selenium如何在 Capybara w/ selenium 中使用 ruby​​-debug
【发布时间】:2011-02-16 07:24:03
【问题描述】:

我们让 Capybara 使用 selenium 驱动程序,但是当我尝试在一个步骤中使用“调试器”时,它并不能正常工作。

例如在调试控制台中输入“page”有效,但输入“page.body”挂起。

在尝试将调试器与 akephalos 驱动程序一起使用时,我们也感到奇怪。使用 akephalos 时,我们无法输入调试提示符……实际上我们可以,但您必须按几次键,然后一个字母才会随机出现在终端中。执行“Ctrl-C”让我们输入,但出现“DRb connection ...something”之类的错误(抱歉不再有确切的错误)。

我认为问题在于像 selenium 和 akephalos 这样的驱动程序在同一个进程中运行测试和服务器,这会混淆 ruby​​-debug。我将尝试单独运行服务器(脚本/服务器测试)并使用 Capybara.app_host = 'http://localhost:3000' 看看这是否会有所作为。我用 akephalos 尝试过,但没有成功,因为它只是启动了另一个进程内服务器。

有没有人在 Capybara 和 selenium 中使用 ruby​​-debug?这对其他人有用吗?我错过了什么明显的东西吗?

【问题讨论】:

    标签: ruby-on-rails debugging selenium cucumber capybara


    【解决方案1】:

    设置 Capybara.app_host = 'http://localhost:3000' 并在另一个进程中运行 script/server -e test 有效。

    【讨论】:

    • 你什么时候开始另一个进程?
    【解决方案2】:

    我自己没有真正的答案,但你的问题让我想起了这篇文章:

    Selenium doesn't work with Cucumber/Capybara (out of the box) - MacOSX

    提问者展示了他如何使用 ruby​​-debug 来找出为什么缺少的依赖项导致 selenium 无法打开浏览器。

    希望这会有所帮助!

    【讨论】:

    • 谢谢。这听起来肯定是相关的。在我看到您的答案之前,虽然我设法通过设置“app_host”使其连接到在另一个进程中运行的服务器来使其工作。
    【解决方案3】:

    我发现这是可行的(在黄瓜 env.rb 文件中)

    Capybara.default_wait_time = 2000 #default: 2

    【讨论】:

      猜你喜欢
      • 2017-10-14
      • 2020-01-27
      • 1970-01-01
      • 2021-10-20
      • 2023-03-08
      • 2011-04-05
      • 2023-03-18
      • 1970-01-01
      • 2017-05-14
      相关资源
      最近更新 更多