Connect to Selenium within Docker-container

1,129 views
Skip to first unread message

Flaz Fourteen

unread,
May 11, 2018, 6:32:14 AM5/11/18
to Selenium Users
Hi,

That question has been asked on StackOverflow: Connect to Selenium within Docker-container. It's still unanswered (may be it's quite specific...). So let me copy-and-paste the question here:

--------------

I'm developing tests with Selenium. Currently I'm using official selenium/standalone-chrome:3.11.0 image. I'm running only Selenium inside Docker-container. The project itself is compiled on the host machine (tests connect to the container's exposed port):


$ docker run -p 4444:4444 selenium/standalone-chrome:3.11.0

$ curl -v localhost:4444
* Rebuilt URL to: localhost:4444/
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 4444 (#0)
> GET / HTTP/1.1
> Host: localhost:4444
> User-Agent: curl/7.47.0
> Accept: */*
> 
< HTTP/1.1 200 OK
...


But I would like to compile and test the project entirely inside Docker-container. So I created my own image upon selenium/standalone-chrome:3.11.0. My (simplified) Dockerfile looks like this:


FROM selenium/standalone-chrome:3.11.0 RUN sudo apt-get --assume-yes --quiet update RUN sudo apt-get --assume-yes --quiet install curl CMD ["curl", "-v", "localhost:4444"]


As can be seen from the file, I'm trying to connect to port 4444 within container. When I run the image, e.g.:


docker build -t test . && docker run test


I get:


* Rebuilt URL to: localhost:4444/ % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 127.0.0.1... * connect to 127.0.0.1 port 4444 failed: Connection refused * Trying ::1... * Immediate connect fail for ::1: Cannot assign requested address * Trying ::1... * Immediate connect fail for ::1: Cannot assign requested address * Failed to connect to localhost port 4444: Connection refused * Closing connection 0 curl: (7) Failed to connect to localhost port 4444: Connection refused


Why I'm not able to connect to Selenium which is ran inside container from the same container?


--------------

Flaz Fourteen

unread,
May 13, 2018, 12:00:25 PM5/13/18
to Selenium Users

Hi,


I've resolved the issue and posted the answer on StackOverflow. Below is the copy of it.

This topic can be closed :)


------------------------------------


I've found the solution at last (sorry for my stupidity).


Building an image upon selenium/standalone-chrome:3.11.0 is not sufficient. You need to start Selenium (which is located under /opt/selenium) explicitly.


The Dockerfile:


FROM selenium/standalone-chrome:3.11.0

WORKDIR /app

COPY . /app

RUN sudo apt-get --assume-yes --quiet update
RUN sudo apt-get --assume-yes --quiet install curl

CMD ["./acceptance.sh"] 

The acceptance.sh wrapper script:


#!/bin/bash

set -x
set -e

java -jar /opt/selenium/selenium-server-standalone.jar &
sleep 30
curl -v localhost:4444
 

The result:


...
+ set -e
+ sleep 30
+ java -jar /opt/selenium/selenium-server-standalone.jar
15:52:22.157 INFO [GridLauncherV3.launch] - Selenium build info: version: '3.11.0', revision: 'e59cfb3'
15:52:22.165 INFO [GridLauncherV3$1.launch] - Launching a standalone Selenium Server on port 4444
2018-05-13 15:52:22.809:INFO::main: Logging initialized @2474ms to org.seleniumhq.jetty9.util.log.StdErrLog
15:52:23.676 INFO [SeleniumServer.boot] - Welcome to Selenium for Workgroups....
15:52:23.677 INFO [SeleniumServer.boot] - Selenium Server is up and running on port 4444
+ curl -v localhost:4444
* Rebuilt URL to: localhost:4444/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 4444 (#0)
> GET / HTTP/1.1
> Host: localhost:4444
> User-Agent: curl/7.47.0
> Accept: */*
> 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0< HTTP/1.1 200 OK
...
 

Cheers!


------------------------------------

Mohanraj K

unread,
May 13, 2018, 10:06:23 PM5/13/18
to seleniu...@googlegroups.com
Is there any method to find x and y podition of selenium??

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-user...@googlegroups.com.
To post to this group, send email to seleniu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/selenium-users/d98f55a1-1cc7-4fb5-ba93-a9a809aac754%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


----
Disclaimer:
This email and any attachments to it may be confidential and are intended solely for the use of the individual to whom it is addressed.
Reply all
Reply to author
Forward
0 new messages