Hi,
I’m trying to run a job with two docker images. The first docker image runs my test code and the second docker image runs the standalone selenium server with chrome and chromedriver installed from SeleniumHQ GitHub - SeleniumHQ/docker-selenium: Provides a simple way to run Selenium Grid with Chrome, Firefox, and Edge using Docker, making it easier to perform browser automation
When I run this locally with the CircleCI Local CLI tool ( circleci local execute --job my_job_name
), things work great and my tests run and pass. BUT when I try to run it on CircleCI, I’m running into a problem.
My job looks something like this:
my_job_name:
docker:
- image: my_ubuntu_based_docker_image
- image: selenium/standalone-chrome:3.141.59-palladium
name: selenium
steps:
- run: <run python selenium tests that talk to port 4444 running on the standalone selenium server image>
What happens is that the standalone selenium server runs and I can see from its console output that it receives the connection from the python selenium tests, but then after a bit the output in the standalone selenium console log stops with the last line saying “Job was canceled”.
The first docker image which runs the tests shows in its console error dump:
raise RemoteDisconnected(“Remote end closed connection without”
urllib3.exceptions.ProtocolError: (‘Connection aborted.’, RemoteDisconnected(‘Remote end closed connection without response’,))"
– which would appear to indicate that the standalone selenium server docker container crashes or loses its network connection.
Has anyone seen this before or have experience getting the selenium/standalone-chrome docker image to work in CircleCI?