diff options
| author | John Hawthorn <john@hawthorn.email> | 2019-07-04 13:20:30 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-04 13:20:30 -0700 |
| commit | a59b2305792dd7012a8abc2e4b1a7d9037e8e208 (patch) | |
| tree | 3937ed3d7a9f47c6519888d33279d4debaf4c2d5 /actionpack/lib/action_dispatch/system_testing/browser.rb | |
| parent | 6fd43bd07170d54e90625081bf21c36d3666b8c6 (diff) | |
| parent | b21ef266619074c27f0ea147f5ebaccfe1709ecf (diff) | |
| download | rails-a59b2305792dd7012a8abc2e4b1a7d9037e8e208.tar.gz rails-a59b2305792dd7012a8abc2e4b1a7d9037e8e208.tar.bz2 rails-a59b2305792dd7012a8abc2e4b1a7d9037e8e208.zip | |
Merge pull request #36592 from jhawthorn/system_testing_preload
Preload browser driver_path to fix system testing under parallelism
Diffstat (limited to 'actionpack/lib/action_dispatch/system_testing/browser.rb')
| -rw-r--r-- | actionpack/lib/action_dispatch/system_testing/browser.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/system_testing/browser.rb b/actionpack/lib/action_dispatch/system_testing/browser.rb index c34907b6cb..f5f195d876 100644 --- a/actionpack/lib/action_dispatch/system_testing/browser.rb +++ b/actionpack/lib/action_dispatch/system_testing/browser.rb @@ -39,6 +39,19 @@ module ActionDispatch end end + # driver_path can be configured as a proc. The webdrivers gem uses this + # proc to update web drivers. Running this proc early allows us to only + # update the webdriver once and avoid race conditions when using + # parallel tests. + def preload + case type + when :chrome + ::Selenium::WebDriver::Chrome::Service.driver_path.try(:call) + when :firefox + ::Selenium::WebDriver::Firefox::Service.driver_path.try(:call) + end + end + private def headless_chrome_browser_options capabilities.args << "--headless" |
