我在我的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。我想知道我错过了什么?
答案 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页面中的一个。