【问题标题】:Docker + Rspec + Capybara - arguments[0] is undefinedDocker + Rspec + Capybara - 参数 [0] 未定义
【发布时间】:2014-12-06 18:25:54
【问题描述】:

我正试图让我的规范在 docker 中毫无头绪地工作 - 它们在我的 Mac 上本地运行良好,但是当我在 docker 容器中运行它们时,我收到此错误(重复多次)

Selenium::WebDriver::Error::JavascriptError:
   arguments[0] is undefined
 # [remote server] https://foobar.com/ line 68 > Function:1:1:in `anonymous'
 # [remote server] https://foobar.com/:68:20:in `handleEvaluateEvent'
 # ./spec/features/foo_spec.rb:15:in `block (2 levels) in <top (required)>

Xvfb 正在运行:Xvfb :99.0 -screen 0 1366x768x16

我也尝试过 xvfb-run rspec 并得到同样的错误。

spec_helper.rb:

Capybara.default_driver = :selenium
Capybara.javascript_driver = :selenium

这个不能在 docker 里面运行是怎么回事?

【问题讨论】:

  • 我在我的 Mac 上运行功能规范时遇到了这个问题。完全被难住了……
  • 我将我的 Firefox 版本降级到 34.0.5,它似乎对我有用。
  • 降级 Firefox 也对我有用。谢谢!我的猜测是这是selenium-webdriver gem 中的一个错误。
  • 哇,降级到 34.0.5 也对我有用。请参阅这篇文章,了解如何防止 Firefox 自动更新。 support.mozilla.org/en-US/questions/993765

标签: selenium rspec selenium-webdriver docker


【解决方案1】:

这个错误的原因是这样的:

>> webdriver.execute_script("return typeof arguments[0]", "foo")
=> "undefined"

显然这是 Firefox 35 和 webdriver 的错误。有一个问题悬而未决 - https://code.google.com/p/selenium/issues/detail?id=8390

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    相关资源
    最近更新 更多