PhantomJS不适用于Cucumber测试

时间:2017-08-07 12:12:40

标签: javascript ruby-on-rails cucumber

我在我的Rails应用程序中添加了javascript,只有在选中其中一个复选框时启用该按钮。

$(document).on('turbolinks:load', function() {
  $(function () {
    $('.delete-checkbox').change(function() {
      if ($('.delete-checkbox:checked').length) {
        $('#delete-url-btn').removeAttr('disabled');
      } else {
        $('#delete-url-btn').attr('disabled', 'disabled');
      }
    });
  });
})

当我测试它时,代码肯定会在浏览器中运行。然而,当我使用poltergeist(phantomjs)运行我的黄瓜测试时,似乎没有拾取javascript。我在我的黄瓜功能中添加了@javascript标记,并且我还按照phantomjs website上的所有说明添加了phantomjs。我想知道我错过了什么?

1 个答案:

答案 0 :(得分:0)

请检查是否添加' capybara' gem(如果你没有在Gemfile中拥有它) 以下代码:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, js_errors: false)
end

Capybara.default_driver = :poltergeist
Capybara.javascript_driver = :poltergeist

到features / support / env.rb文件有帮助。

另外请检查您是否可以从命令行运行phantomjs,即。 " phantomjs --version"。如果您使用Ubuntu,则必须删除Ubuntu phantomjs软件包(它已损坏:https://github.com/ariya/phantomjs/issues/14376),并使用http://phantomjs.org/download.html页面中的一个。