Project

General

Profile

Actions

Patch #34269

closed

Allow system tests to run on remote Selenium hub (eg: Docker)

Added by Marius BĂLTEANU over 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Code cleanup/refactoring
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

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

Actions #1

Updated by Go MAEDA over 3 years ago

The change looks nice.

Would you consider adding description about those four environment variables to source:trunk/doc/RUNNING_TESTS?

Actions #2

Updated by Marius BĂLTEANU over 3 years 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.

Actions #3

Updated by Marius BĂLTEANU over 3 years ago

  • File deleted (0001-Adds-CAPYBARA_SERVER_HOST-CAPYBARA_SERVER_PORT-SELEN.patch)
Actions #5

Updated by Go MAEDA over 3 years ago

  • Target version set to 4.2.0

Setting the target version to 4.2.0.

Actions #6

Updated by Go MAEDA over 3 years ago

  • Status changed from New to Closed
  • Assignee set to Go MAEDA

Committed the patch (r20428). Thank you for your contribution.

Actions #7

Updated by Marius BĂLTEANU over 3 years ago

Go MAEDA wrote:

Committed the patch (r20428). Thank you for your contribution.

Thanks Go Maeda for fixing the RuboCop violations.

Actions #8

Updated by Marius BĂLTEANU about 3 years 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" 
Actions #9

Updated by Marius BĂLTEANU about 3 years ago

  • Status changed from Closed to Reopened
Actions #10

Updated by Go MAEDA about 3 years 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.

Actions

Also available in: Atom PDF