aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEileen Uchitelle <eileencodes@gmail.com>2019-01-29 09:01:58 -0500
committerEileen Uchitelle <eileencodes@gmail.com>2019-01-29 11:55:30 -0500
commit1a4f61307286702205fd32b3aa62c26c21c9cce3 (patch)
treed9e6738fb7d6beb4e9a30791222076835b73f0d0
parent5936bd9a201a2c1a3730d9c857f0908959505d2b (diff)
downloadrails-1a4f61307286702205fd32b3aa62c26c21c9cce3.tar.gz
rails-1a4f61307286702205fd32b3aa62c26c21c9cce3.tar.bz2
rails-1a4f61307286702205fd32b3aa62c26c21c9cce3.zip
Rename methods and update docs
This is a minor update to the named methods for the following: - s/desired_capabilities/capabilities - s/driver_options/capabilities Since they are all the same thing we should keep the name the same throughout the feature. Updated docs to match / be a little bit clearer Also updated the Gemfile for selenium-webdriver.
-rw-r--r--Gemfile.lock15
-rw-r--r--actionpack/lib/action_dispatch/system_test_case.rb20
-rw-r--r--actionpack/lib/action_dispatch/system_testing/browser.rb12
-rw-r--r--actionpack/lib/action_dispatch/system_testing/driver.rb10
-rw-r--r--railties/test/application/test_runner_test.rb1
5 files changed, 33 insertions, 25 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index 62be590ffb..dfbd796969 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -238,10 +238,10 @@ GEM
faye-websocket (0.10.7)
eventmachine (>= 0.12.0)
websocket-driver (>= 0.5.1)
- ffi (1.9.25)
- ffi (1.9.25-java)
- ffi (1.9.25-x64-mingw32)
- ffi (1.9.25-x86-mingw32)
+ ffi (1.10.0)
+ ffi (1.10.0-java)
+ ffi (1.10.0-x64-mingw32)
+ ffi (1.10.0-x86-mingw32)
fugit (1.1.6)
et-orbi (~> 1.1, >= 1.1.6)
raabro (~> 1.1)
@@ -336,6 +336,7 @@ GEM
mysql2 (0.5.2-x64-mingw32)
mysql2 (0.5.2-x86-mingw32)
nio4r (2.3.1)
+ nio4r (2.3.1-java)
nokogiri (1.9.1)
mini_portile2 (~> 2.4.0)
nokogiri (1.9.1-java)
@@ -432,9 +433,9 @@ GEM
tilt (>= 1.1, < 3)
sdoc (1.0.0)
rdoc (>= 5.0)
- selenium-webdriver (3.141.0)
+ selenium-webdriver (3.5.2)
childprocess (~> 0.5)
- rubyzip (~> 1.2, >= 1.2.2)
+ rubyzip (~> 1.0)
sequel (5.14.0)
serverengine (2.0.7)
sigdump (~> 0.2.2)
@@ -509,6 +510,8 @@ GEM
websocket (1.2.8)
websocket-driver (0.7.0)
websocket-extensions (>= 0.1.0)
+ websocket-driver (0.7.0-java)
+ websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.3)
xpath (3.2.0)
nokogiri (~> 1.8)
diff --git a/actionpack/lib/action_dispatch/system_test_case.rb b/actionpack/lib/action_dispatch/system_test_case.rb
index 644c703dc9..484eb46331 100644
--- a/actionpack/lib/action_dispatch/system_test_case.rb
+++ b/actionpack/lib/action_dispatch/system_test_case.rb
@@ -89,12 +89,16 @@ module ActionDispatch
# { js_errors: true }
# end
#
- # Most drivers won't let you add specific browser capabilities through the +options+ mentioned above.
- # As an example, if you want to add mobile emulation on chrome, you'll have to create an instance of selenium's
- # `Chrome::Options` object and add capabilities to it.
- # To make things easier, `driven_by` can be called with a block.
- # The block will be passed an instance of `<Driver>::Options` where you can define the capabilities you want.
- # Please refer to your driver documentation to learn about supported options.
+ # Some drivers require browser capabilities to be passed as a block instead
+ # of through the +options+ hash.
+ #
+ # As an example, if you want to add mobile emulation on chrome, you'll have to
+ # create an instance of selenium's `Chrome::Options` object and add
+ # capabilities with a block.
+ #
+ # The block will be passed an instance of `<Driver>::Options` where you can
+ # define the capabilities you want. Please refer to your driver documentation
+ # to learn about supported options.
#
# class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
# driven_by :chrome, screen_size: [1024, 768] do |driver_option|
@@ -148,10 +152,10 @@ module ActionDispatch
# driven_by :selenium, using: :firefox
#
# driven_by :selenium, using: :headless_firefox
- def self.driven_by(driver, using: :chrome, screen_size: [1400, 1400], options: {}, &desired_capabilities)
+ def self.driven_by(driver, using: :chrome, screen_size: [1400, 1400], options: {}, &capabilities)
driver_options = { using: using, screen_size: screen_size, options: options }
- self.driver = SystemTesting::Driver.new(driver, driver_options, &desired_capabilities)
+ self.driver = SystemTesting::Driver.new(driver, driver_options, &capabilities)
end
driven_by :selenium
diff --git a/actionpack/lib/action_dispatch/system_testing/browser.rb b/actionpack/lib/action_dispatch/system_testing/browser.rb
index 74585062aa..f691bd5fe5 100644
--- a/actionpack/lib/action_dispatch/system_testing/browser.rb
+++ b/actionpack/lib/action_dispatch/system_testing/browser.rb
@@ -29,7 +29,7 @@ module ActionDispatch
end
end
- def driver_options
+ def capabilities
@option ||= case type
when :chrome
Selenium::WebDriver::Chrome::Options.new
@@ -40,16 +40,16 @@ module ActionDispatch
private
def headless_chrome_browser_options
- driver_option.args << "--headless"
- driver_option.args << "--disable-gpu" if Gem.win_platform?
+ capability.args << "--headless"
+ capability.args << "--disable-gpu" if Gem.win_platform?
- driver_options
+ capabilities
end
def headless_firefox_browser_options
- driver_options.args << "-headless"
+ capabilities.args << "-headless"
- driver_options
+ capabilities
end
end
end
diff --git a/actionpack/lib/action_dispatch/system_testing/driver.rb b/actionpack/lib/action_dispatch/system_testing/driver.rb
index f71736833c..25a09dd918 100644
--- a/actionpack/lib/action_dispatch/system_testing/driver.rb
+++ b/actionpack/lib/action_dispatch/system_testing/driver.rb
@@ -3,12 +3,12 @@
module ActionDispatch
module SystemTesting
class Driver # :nodoc:
- def initialize(name, **options, &desired_capabilities)
+ def initialize(name, **options, &capabilities)
@name = name
@browser = Browser.new(options[:using])
@screen_size = options[:screen_size]
@options = options[:options]
- @desired_capabilities = desired_capabilities
+ @capabilities = capabilities
end
def use
@@ -23,7 +23,7 @@ module ActionDispatch
end
def register
- define_browser_capabilities(@browser.driver_options)
+ define_browser_capabilities(@browser.capabilities)
Capybara.register_driver @name do |app|
case @name
@@ -34,8 +34,8 @@ module ActionDispatch
end
end
- def define_browser_capabilities(driver_options)
- @desired_capabilities.call(driver_options) if @desired_capabilities
+ def define_browser_capabilities(capabilities)
+ @capabilities.call(capabilities) if @capabilities
end
def browser_options
diff --git a/railties/test/application/test_runner_test.rb b/railties/test/application/test_runner_test.rb
index 954eb68445..f706e53e5c 100644
--- a/railties/test/application/test_runner_test.rb
+++ b/railties/test/application/test_runner_test.rb
@@ -771,6 +771,7 @@ module ApplicationTests
def test_reset_sessions_on_failed_system_test_screenshot
app_file "test/system/reset_sessions_on_failed_system_test_screenshot_test.rb", <<~RUBY
require "application_system_test_case"
+ require "selenium/webdriver"
class ResetSessionsOnFailedSystemTestScreenshotTest < ApplicationSystemTestCase
ActionDispatch::SystemTestCase.class_eval do