Patch #34269
closed
Allow system tests to run on remote Selenium hub (eg: Docker)
Added by Marius BĂLTEANU about 4 years ago.
Updated about 4 years ago.
Category:
Code cleanup/refactoring
Description
The current setup of system tests forces you to have your Selenium/ChromeDriver on your localhost. This is ok if you have a classic setup with everything on your localhost, but if you are using Docker or you want to configure the tests to run on CI you need to install ChromeDriver and all the dependencies on the same image with Redmine.
The attached patch adds 4 environment variables that allow you to configure the system tests to run using a remote Selenium URL:
CAPYBARA_SERVER_HOST
: to configure the default server to run on a custom IP which can be, for example, your remote Selenium IP or 0.0.0.0
to listen an all connections
CAPYBARA_SERVER_PORT
: to configure the default server port
SELENIUM_REMOTE_URL
: remote Selenium IP
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.
With the attached patch, I was able to configure my Gitlab CI setup (#30069) to run the system tests (https://gitlab.com/redmine-org/redmine/-/jobs/852801841).
Files
Go MAEDA wrote:
The change looks nice.
Would you consider adding description about those four environment variables to source:trunk/doc/RUNNING_TESTS?
Yes, I forgot about docs. Thanks for pointing this out. I will update the patch soon.
- File deleted (
0001-Adds-CAPYBARA_SERVER_HOST-CAPYBARA_SERVER_PORT-SELEN.patch)
Here it is the updated version.
- Target version set to 4.2.0
Setting the target version to 4.2.0.
- Status changed from New to Closed
- Assignee set to Go MAEDA
Committed the patch (r20428). Thank you for your contribution.
Go MAEDA wrote:
Committed the patch (r20428). Thank you for your contribution.
Thanks Go Maeda for fixing the RuboCop violations.
One more environment variable that allows to set the Google Chrome Options arguments as a comma-delimited string. Useful to set some required arguments to run the tests on headless Chrome.
GOOGLE_CHROME_OPTS_ARGS="headless,disable-gpu,no-sandbox,disable-dev-shm-usage"
- Status changed from Closed to Reopened
- Status changed from Reopened to Closed
Marius BALTEANU wrote:
One more environment variable that allows to set the Google Chrome Options arguments as a comma-delimited string. Useful to set some required arguments to run the tests on headless Chrome.
[...]
Committed the patch. Thank you.
Also available in: Atom
PDF