Patch #34269
Allow system tests to run on remote Selenium hub (eg: Docker)
Status: | Closed | Start date: | ||
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | % Done: | 0% | ||
Category: | Code cleanup/refactoring | |||
Target version: | 4.2.0 |
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 connectionsCAPYBARA_SERVER_PORT
: to configure the default server portSELENIUM_REMOTE_URL
: remote Selenium IPCAPYBARA_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).
Associated revisions
Adds CAPYBARA_SERVER_HOST, CAPYBARA_SERVER_PORT, SELENIUM_REMOTE_URL and CAPYBARA_APP_HOST to allow running system tests on a remote Selenium hub (on CI using Docker images) (#34269).
Patch by Marius BALTEANU.
Adds GOOGLE_CHROME_OPTS_ARGS environment variable to define Google Chrome options arguments (#34269).
Patch by Marius BALTEANU.
History
#1
Updated by Go MAEDA 3 months ago
The change looks nice.
Would you consider adding description about those four environment variables to source:trunk/doc/RUNNING_TESTS?
#2
Updated by Marius BALTEANU 3 months ago
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.
#3
Updated by Marius BALTEANU 3 months ago
- File deleted (
0001-Adds-CAPYBARA_SERVER_HOST-CAPYBARA_SERVER_PORT-SELEN.patch)
#4
Updated by Marius BALTEANU 3 months ago
Here it is the updated version.
#7
Updated by Marius BALTEANU 3 months ago
Go MAEDA wrote:
Committed the patch (r20428). Thank you for your contribution.
Thanks Go Maeda for fixing the RuboCop violations.
#8
Updated by Marius BALTEANU about 1 month ago
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"
#9
Updated by Marius BALTEANU about 1 month ago
- Status changed from Closed to Reopened
#10
Updated by Go MAEDA about 1 month ago
- 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.