Allow system tests to run on remote Selenium hub (eg: Docker)
|Assignee:||Go MAEDA||% Done:|
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).
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.
#4 Updated by Marius BALTEANU 12 days ago
Here it is the updated version.