Try to reduce testing view port and unify it

Hoping that we don't hit into

    Selenium::WebDriver::Error::NoSuchDriverError:
      invalid session id

Again.
This commit is contained in:
Lin Jen-Shin 2019-04-16 00:19:10 +08:00
parent 3990e52d0a
commit 65a7a20ae9
2 changed files with 9 additions and 4 deletions

View File

@ -17,6 +17,8 @@ JS_CONSOLE_FILTER = Regexp.union([
"Download the Vue Devtools extension" "Download the Vue Devtools extension"
]) ])
CAPYBARA_WINDOW_SIZE = [1366, 768].freeze
Capybara.register_driver :chrome do |app| Capybara.register_driver :chrome do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome( capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
# This enables access to logs with `page.driver.manage.get_log(:browser)` # This enables access to logs with `page.driver.manage.get_log(:browser)`
@ -29,7 +31,7 @@ Capybara.register_driver :chrome do |app|
) )
options = Selenium::WebDriver::Chrome::Options.new options = Selenium::WebDriver::Chrome::Options.new
options.add_argument("window-size=1240,1400") options.add_argument("window-size=#{CAPYBARA_WINDOW_SIZE.join(',')}")
# Chrome won't work properly in a Docker container in sandbox mode # Chrome won't work properly in a Docker container in sandbox mode
options.add_argument("no-sandbox") options.add_argument("no-sandbox")
@ -78,8 +80,11 @@ RSpec.configure do |config|
protocol: 'http') protocol: 'http')
# reset window size between tests # reset window size between tests
unless session.current_window.size == [1240, 1400] unless session.current_window.size == CAPYBARA_WINDOW_SIZE
session.current_window.resize_to(1240, 1400) rescue nil begin
session.current_window.resize_to(*CAPYBARA_WINDOW_SIZE)
rescue # ?
end
end end
end end

View File

@ -8,7 +8,7 @@ module MobileHelpers
end end
def restore_window_size def restore_window_size
resize_window(1366, 768) resize_window(*CAPYBARA_WINDOW_SIZE)
end end
def resize_window(width, height) def resize_window(width, height)