【发布时间】:2016-04-22 04:10:52
【问题描述】:
我的设置是使用 poltergeist 作为我所有测试的 Capybara 驱动程序,包括 JS 和非 JS。
# spec/rails_helper.rb
require "capybara/poltergeist"
# ...
# ...
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, js_errors: true)
end
Capybara.configure do |config|
config.ignore_hidden_elements = true
Capybara.default_driver = :poltergeist
Capybara.javascript_driver = :poltergeist
end
我进行了一些测试,以确认即使禁用了 javascript,我的应用程序中的某些功能仍然可以正常工作。对于这些测试,我当然会使用 js: false 禁用 javascript。
describe "accessibility" do
describe "JavaScript disabled", js: false do
before(:each) { visit root_path }
it "user can still log in" do
# ...
end
end
end
但是,我注意到这些 js:false 测试仍然使用 JavaScript。我可以通过在 JavaScript 中将调试语句打印到控制台日志来确认这一点。
有没有办法在使用 poltergeist 时禁用 JavaScript?还是总是启用?将 poltergeist 用作非 JS 驱动程序是否有效?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 rspec capybara poltergeist