我正在尝试将免费软件放在我作为合作者之一的地方,以在 Travis 上运行验收测试。除了硒的验收测试外,一切都进行得很好。
这是一个棘手的问题,因为该软件仅使用 Debian 6 上可用的 gem 版本。所以,一切都已经过时了。
更具体地说,只是我在屏幕上查找一些文本的步骤,步骤如下:
page.should have_content(text)
我已经尝试过:
- 添加一些等待,因为它可能在渲染之前寻找元素;
- 更新xpath;
- 删除 webrat,因为我读过它可能与水豚冲突;
- 使用 xvfb 在本地运行测试;
- 使用 Ubuntu Server 12.04 32 位(Travis 版本)创建一个 VM,安装所有内容并在 xvfb 上运行测试;
- 将 Capybara 从 1.1.1 更新到 1.1.4。
但问题依然存在:
# features/step_definitions/web_steps.rb:107
Unable to find xpath "/html" (Capybara::ElementNotFound)
(eval):2:in `send'
(eval):2:in `text'
./features/step_definitions/web_steps.rb:110
./features/step_definitions/web_steps.rb:14:in `with_scope'
./features/step_definitions/web_steps.rb:108:in `/^(?:|I )should see "([^"]*)"(?: within "([^"]*)")?$/'
plugins/mezuro/features/repository.feature:101:in `And I should see "My Name"'
这是构建的链接: https ://travis-ci.org/rafamanzo/mezuro-travis/builds/6231714
有人知道吗?恐怕它与 gem 版本有关,我无法以任何方式修复它。
以下是我在 Google 上找到的相关链接:
- https://groups.google.com/forum/#!msg/ruby-capybara/PDr7sZ124Vw/qLXqHXs0XdMJ
- https://github.com/rspec/rspec-rails/issues/406
非常感谢!