Patch #34269 » 0002-Adds-GOOGLE_CHROME_OPTS_ARGS-environment-variable-to.patch
doc/RUNNING_TESTS | ||
---|---|---|
77 | 77 |
`CAPYBARA_SERVER_PORT`: configure server port |
78 | 78 |
`SELENIUM_REMOTE_URL`: remote Selenium URL |
79 | 79 |
`CAPYBARA_APP_HOST`: by default, the tests expect to have the application running on your localhost. Using this variable, you can set a custom URL |
80 |
`GOOGLE_CHROME_OPTS_ARGS`: configure Google Chrome Options arguments as a comma-delimited string. For example, it can be used to run the tests in headless mode: |
|
81 |
`export GOOGLE_CHROME_OPTS_ARGS="headless,disable-gpu,no-sandbox,disable-dev-shm-usage"` |
|
80 | 82 | |
81 | 83 |
One use case of these variables is to run the system tests on a remote Selenium/ChromeDriver (eg: Docker). |
82 | 84 |
test/application_system_test_case.rb | ||
---|---|---|
21 | 21 | |
22 | 22 |
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase |
23 | 23 |
DOWNLOADS_PATH = File.expand_path(File.join(Rails.root, 'tmp', 'downloads')) |
24 |
GOOGLE_CHROME_OPTS_ARGS = [] |
|
24 | 25 | |
25 | 26 |
# Allow running Capybara default server on custom IP address and/or port |
26 | 27 |
Capybara.server_host = ENV['CAPYBARA_SERVER_HOST'] if ENV['CAPYBARA_SERVER_HOST'] |
27 | 28 |
Capybara.server_port = ENV['CAPYBARA_SERVER_PORT'] if ENV['CAPYBARA_SERVER_PORT'] |
28 | 29 | |
30 |
# Allow defining Google Chrome options arguments based on a comma-delimited string environment variable |
|
31 |
GOOGLE_CHROME_OPTS_ARGS = ENV['GOOGLE_CHROME_OPTS_ARGS'].split(",") if ENV['GOOGLE_CHROME_OPTS_ARGS'] |
|
32 | ||
29 | 33 |
options = {} |
30 | 34 |
# Allow running tests using a remote Selenium hub |
31 | 35 |
options[:url] = ENV['SELENIUM_REMOTE_URL'] if ENV['SELENIUM_REMOTE_URL'] |
32 | 36 |
options[:desired_capabilities] = Selenium::WebDriver::Remote::Capabilities.chrome( |
33 | 37 |
'goog:chromeOptions' => { |
38 |
'args' => GOOGLE_CHROME_OPTS_ARGS, |
|
34 | 39 |
'prefs' => { |
35 | 40 |
'download.default_directory' => DOWNLOADS_PATH, |
36 | 41 |
'download.prompt_for_download' => false, |
- « Previous
- 1
- 2
- Next »