ruby-on-rails-3 – 使用Capybara Selenium时禁用JavaScript
发布时间:2020-12-17 01:36:26 所属栏目:百科 来源:网络整理
导读:我有一个应用程序设计为禁用 JavaScript时仍然可用,所以我想写一些涵盖这些情况的规范. 我正在使用Selenium(Firefox)和Capybara,我正在注册一个禁用JavaScript的新驱动程序(通过Selenium的javascript.enabled属性) # spec/rails_helper.rbCapybara.configure
我有一个应用程序设计为禁用
JavaScript时仍然可用,所以我想写一些涵盖这些情况的规范.
我正在使用Selenium(Firefox)和Capybara,我正在注册一个禁用JavaScript的新驱动程序(通过Selenium的javascript.enabled属性) # spec/rails_helper.rb Capybara.configure do |config| config.ignore_hidden_elements = true config.default_driver = :selenium end Capybara.register_driver :disable_js do |app| profile = Selenium::WebDriver::Firefox::Profile.new profile["javascript.enabled"] = false Capybara::Selenium::Driver.new(app,profile: profile) end # spec/features/siging_in_spec.rb context "JavaScript disabled",driver: :disable_js do it "user can still sign in" do # ... # ... end end 功能规格未能实际禁用JavaScript.当测试期间弹出浏览器窗口并用binding.pry暂停时,我绝对可以点击我知道需要JavaScript的项目,看看它们是否正常工作. 旁注:如果我实际进入我的Firefox设置并禁用JavaScript,则测试通过.因此,它似乎继承了我在浏览器中设置的任何配置,而不是实际使用注册驱动程序时指定的配置. 这是正确的做法,还是我错过了什么? 谢谢! 解决方法
注册驱动程序时无法更改javascript.enabled设置,因为selenium将其冻结为true –
https://github.com/SeleniumHQ/selenium/blob/master/javascript/firefox-driver/webdriver.json#L35 – 这是因为尝试使用selenium和firefox并且JS禁用
https://github.com/SeleniumHQ/selenium/issues/635时出现问题 – 并且不太可能被更改.你能用rack_test驱动程序运行那些特定的测试吗?或者它没有提供足够的功能?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |