Добрый день, форумчане. Излагаю суть проблемы в надежде получить помощь.
Собственно, не будучи профессионалом я слепил такую архитектуру для прогона автотестов:
на unis-виртуалке вращается docker , в контейнерах которого поднят официальный образ Jenkins и selenium/standalone-chrome:3.8.1-aluminum, связанные между собой (Jenkins стартует тесты, адресует их в контейнер selenium'a, где их прогоняет chromedriver)
Тесты написаны на PHP с помощью Codeception. Файлы с тестами хранятся в проекте, но не для всех из них созданы item'ы в Jenkins'e.
docker-compose.yml с selenium/standalone
selenium_chrome: image: selenium/standalone-chrome:3.8.1-aluminum ports: - "4444:4444" environment: - GRID_BROWSER_TIMEOUT=3600000 - GRID_TIMEOUT=3500000 - GRID_MAX_SESSION=3
Теперь о проблеме:
я стал замечать, что на selenium server'e появляются сессии тестов, которые не были вызваны Jenkins'ом. Тесты запускаются самые разные, даже те, для которых нет item'a в jenkins'e.
Чтобы решить проблему, я решил понять почему это происходит. И первое, что мне пришло в голову, это посмотреть логи selenium server'a.
И тут возникает другая проблема - я не знаю как в docker-compose.yml файле прописать enviroment , чтобы selenium генерировал лог-файл и не знаю как указать путь к месту хранения лог-файла.
Запуская сервер через консоль я бы дописал в конце -log /home/directory/selenium_server_log , но как это сделать в случае с docker-compose.yml - я не знаю. Возможно, есть какой-то конфиг selenium server'a, в котором всё это указывается - мне не известно.
Подозреваю, что примерно так, поправьте, если ошибаюсь:
selenium_chrome: image: selenium/standalone-chrome:3.8.1-aluminum ports: - "4444:4444" volumes: - "/home/selenium:/home/selenium" - "/dev/shm:/dev/shm" environment: - log /home/selenium/selenium_server_log - Djava.util.logging.config.file=/home/selenium/my.properties - JAVA_OPTS=-Dselenium.LOGGER.level=INFO - GRID_BROWSER_TIMEOUT=3600000 - GRID_TIMEOUT=3500000 - GRID_MAX_SESSION=3
В целом, ситуация такова. Может мой подход изначально неверен и логи мне не помогут в решении проблемы. Буду рад любой помощи.