Cucumber / Capybara + Angular:使用硒驱动器测试通过,但不是使用poltergeist

时间:2015-02-12 07:32:41

标签: angularjs selenium cucumber capybara poltergeist

我正在尝试在角度应用程序上运行功能测试,但他们使用poltergeist驱动程序仍然失败。原因似乎是因为字面上使用了数据绑定语法。例如,在poltergeist下,对于以下链接,{{userName}}将显示为'用户名',

<a href="/path/to/somewhere">{{userName}}</a>

find(:link, text: 'User Name').click失败,但find(:link, text: '{{userName}}').click有效。

在selenium驱动程序下,find(:link, text: 'User Name').click正常工作。

我想使用poltergeist,以便我可以将它们作为整个测试套件的一部分运行并整合到CI中,这就是阻止它。

以下是env.rb中的Cucumber设置。

require 'cucumber/rails'
require 'capybara/poltergeist'

Capybara.register_driver :poltergeist_debug do |app|
  options = { inspector: true, js_errors: false, timeout: 180, phantomjs_options: ['--load-images=no', '--ignore-ssl-errors=yes'] }

  Capybara::Poltergeist::Driver.new(app, options)
end

Capybara.default_wait_time = 30
Capybara.javascript_driver = :poltergeist_debug
Capybara.default_driver = :poltergeist_debug

DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean

Cucumber::Rails::Database.javascript_strategy = :truncation

任何帮助都会非常值得赞赏。

1 个答案:

答案 0 :(得分:0)

你可以给这个宝石一个: https://github.com/kikonen/capybara-ng