diff options
author | eileencodes <eileencodes@gmail.com> | 2017-03-09 11:03:33 -0500 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2017-03-09 11:03:33 -0500 |
commit | 17c65342469f211f4a845073e47bf1dfa13ba259 (patch) | |
tree | 649265a1a13d65419fa9db104ed1e1cd71e84f4e /actionpack/lib/action_dispatch/system_testing/driver.rb | |
parent | 37770bc8d13c5c7af024e66539c79f966718aec0 (diff) | |
parent | 7c9af60e5c26941dc9ec6a263f5fc5fe10050cba (diff) | |
download | rails-17c65342469f211f4a845073e47bf1dfa13ba259.tar.gz rails-17c65342469f211f4a845073e47bf1dfa13ba259.tar.bz2 rails-17c65342469f211f4a845073e47bf1dfa13ba259.zip |
Merge branch 'refactor-system-test-driver'
Diffstat (limited to 'actionpack/lib/action_dispatch/system_testing/driver.rb')
-rw-r--r-- | actionpack/lib/action_dispatch/system_testing/driver.rb | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/actionpack/lib/action_dispatch/system_testing/driver.rb b/actionpack/lib/action_dispatch/system_testing/driver.rb index 8decb54419..72d132d64f 100644 --- a/actionpack/lib/action_dispatch/system_testing/driver.rb +++ b/actionpack/lib/action_dispatch/system_testing/driver.rb @@ -1,18 +1,33 @@ module ActionDispatch module SystemTesting class Driver # :nodoc: - def initialize(name) + def initialize(name, **options) @name = name + @browser = options[:using] + @screen_size = options[:screen_size] end def use - @current = Capybara.current_driver - Capybara.current_driver = @name + register if selenium? + setup end - def reset - Capybara.current_driver = @current - end + private + def selenium? + @name == :selenium + end + + def register + Capybara.register_driver @name do |app| + Capybara::Selenium::Driver.new(app, browser: @browser).tap do |driver| + driver.browser.manage.window.size = Selenium::WebDriver::Dimension.new(*@screen_size) + end + end + end + + def setup + Capybara.current_driver = @name + end end end end |