Skip to content

Instantly share code, notes, and snippets.

@sanjibukai
Created June 24, 2017 03:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sanjibukai/bfc5117221a006d4e6829e3e5a662388 to your computer and use it in GitHub Desktop.
Save sanjibukai/bfc5117221a006d4e6829e3e5a662388 to your computer and use it in GitHub Desktop.
Syetem test case using a remote selenium browser
require "test_helper"
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
#driven_by :selenium, using: :chrome, screen_size: [1400, 1400] # default code
WEBDRIVER_HUB_URL = "http://172.18.0.2:4444/wd/hub"
TARGET_RESOLUTION = [1280,1024]
CHROME_SWITCHES = %W(--window-size=#{TARGET_RESOLUTION[0]},#{TARGET_RESOLUTION[1]} --disable-translate)
CHROME_OPTIONS = {
'args' => CHROME_SWITCHES
}
Capybara.register_driver :docker_chrome do |app|
caps = Selenium::WebDriver::Remote::Capabilities.chrome(:chromeOptions => CHROME_OPTIONS)
client = Selenium::WebDriver::Remote::Http::Default.new
opts = {
browser: :remote,
url: WEBDRIVER_HUB_URL,
desired_capabilities: caps,
http_client: client
}
Capybara::Selenium::Driver.new(app, opts)
end
driven_by :docker_chrome
p "#### Register Driver OK"
p "#### #{WEBDRIVER_HUB_URL}"
def setup_remote
app_ip = '172.18.0.4'
Capybara.current_driver = :docker_chrome
Capybara.javascript_driver = :docker_chrome
Capybara.server_host = app_ip
Capybara.server_port = '3010'
Capybara.app_host = "http://#{app_ip}:3010"
p "#### Setup Remote Driver OK"
p "#### http://#{app_ip}:3010"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment