-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
29 changed files
with
446 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
# NOTE: DO *NOT* EDIT THIS FILE. IT IS GENERATED. | ||
# PLEASE UPDATE Dockerfile.txt INSTEAD OF THIS FILE | ||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
FROM selenium/node-base:3.141.59-20200326 | ||
LABEL authors=SeleniumHQ | ||
|
||
USER root | ||
|
||
|
||
#============================================ | ||
# Opera | ||
#============================================ | ||
# can specify versions by OPERA_VERSION; | ||
# e.g. opera-stable=60.0.3255.109 | ||
# opera-beta=60.0.3255.103 | ||
# opera-developer=62.0.3323.0 | ||
# opera=12.16.1860 | ||
# opera-next=12.16.1860 | ||
# latest (equivalent to opera-stable) | ||
# opera-beta (pull latest beta) | ||
#============================================ | ||
ARG OPERA_VERSION="opera-stable" | ||
RUN wget -q -O - https://deb.opera.com/archive.key | apt-key add - \ | ||
&& echo "deb https://deb.opera.com/opera-stable/ stable non-free" >> /etc/apt/sources.list.d/opera-stable.list \ | ||
&& apt-get update -qqy \ | ||
&& apt-get -qqy install \ | ||
${OPERA_VERSION:-opera-stable} \ | ||
&& dpkg-divert --divert /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so.orig \ | ||
--package ${OPERA_VERSION:-opera-stable} --rename --add \ | ||
/usr/lib/x86_64-linux-gnu/opera/libffmpeg.so \ | ||
&& ln -sf /usr/lib/chromium-browser/libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so \ | ||
&& rm /etc/apt/sources.list.d/opera-stable.list \ | ||
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* | ||
|
||
#================================= | ||
# Opera Launch Script Wrapper | ||
#================================= | ||
COPY wrap_opera_binary /opt/bin/wrap_opera_binary | ||
RUN /opt/bin/wrap_opera_binary | ||
|
||
USER seluser | ||
|
||
#===================== | ||
# Opera webdriver | ||
#===================== | ||
# can specify versions by OPERA_DRIVER_VERSION | ||
# Latest released version will be used by default | ||
#===================== | ||
ARG OPERA_DRIVER_VERSION | ||
RUN LATEST_VERSION=$(curl -s https://api.github.com/repos/operasoftware/operachromiumdriver/releases/latest | jq .name -r) \ | ||
&& [ -z "$OPERA_DRIVER_VERSION" ] && OPERA_DRIVER_VERSION=$LATEST_VERSION \ | ||
&& echo "Using operadriver version: "$OPERA_DRIVER_VERSION \ | ||
&& wget --no-verbose -O /tmp/operadriver_linux64.zip https://github.com/operasoftware/operachromiumdriver/releases/download/v.${OPERA_DRIVER_VERSION}/operadriver_linux64.zip \ | ||
&& rm -rf /opt/selenium/operadriver \ | ||
&& unzip /tmp/operadriver_linux64.zip -d /tmp/ \ | ||
&& mv /tmp/operadriver_linux64/operadriver /opt/selenium/operadriver-${OPERA_DRIVER_VERSION} \ | ||
&& rm -rf /tmp/operadriver_linux64* \ | ||
&& chmod 755 /opt/selenium/operadriver-${OPERA_DRIVER_VERSION} \ | ||
&& sudo ln -fs /opt/selenium/operadriver-${OPERA_DRIVER_VERSION} /usr/bin/operadriver | ||
|
||
COPY generate_config /opt/bin/generate_config | ||
|
||
# Generating a default config during build time | ||
RUN /opt/bin/generate_config > /opt/selenium/config.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
# NOTE: DO *NOT* EDIT THIS FILE. IT IS GENERATED. | ||
# PLEASE UPDATE Dockerfile.txt INSTEAD OF THIS FILE | ||
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
FROM selenium/node-opera:3.141.59-20200326 | ||
LABEL authors=SeleniumHQ | ||
|
||
USER root | ||
|
||
#===== | ||
# VNC | ||
#===== | ||
RUN apt-get update -qqy \ | ||
&& apt-get -qqy install \ | ||
x11vnc \ | ||
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* | ||
|
||
#========= | ||
# fluxbox | ||
# A fast, lightweight and responsive window manager | ||
#========= | ||
RUN apt-get update -qqy \ | ||
&& apt-get -qqy install \ | ||
fluxbox \ | ||
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* | ||
|
||
USER seluser | ||
|
||
#============================== | ||
# Generating the VNC password as seluser | ||
# So the service can be started with seluser | ||
#============================== | ||
|
||
RUN mkdir -p ${HOME}/.vnc \ | ||
&& x11vnc -storepasswd secret ${HOME}/.vnc/passwd | ||
|
||
#========== | ||
# Relaxing permissions for OpenShift and other non-sudo environments | ||
#========== | ||
RUN sudo chmod -R 777 ${HOME} \ | ||
&& sudo chgrp -R 0 ${HOME} \ | ||
&& sudo chmod -R g=u ${HOME} | ||
|
||
#============================== | ||
# Scripts to run fluxbox and x11vnc | ||
#============================== | ||
COPY start-fluxbox.sh \ | ||
start-vnc.sh \ | ||
/opt/bin/ | ||
|
||
#============================== | ||
# Supervisor configuration file | ||
#============================== | ||
COPY selenium-debug.conf /etc/supervisor/conf.d/ | ||
|
||
EXPOSE 5900 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# Selenium Grid Node - Opera Debug | ||
|
||
_This image is only intended for development purposes!_ Runs a Selenium Grid Node with a VNC Server to allow you to visually see the browser being automated. Since it runs additional services to support this it is too heavy weight for usage within a Selenium Grid cluster. | ||
|
||
## Dockerfile | ||
|
||
[`selenium/node-opera-debug` Dockerfile](https://github.com/SeleniumHQ/docker-selenium/blob/master/NodeOperaDebug/Dockerfile) | ||
|
||
## How to use this image | ||
|
||
First, you will need a Selenium Grid Hub that the Node will connect to. | ||
|
||
``` | ||
$ docker run -d -p 4444:4444 --name selenium-hub selenium/hub | ||
``` | ||
|
||
Once the hub is up and running will want to launch nodes that can run tests. | ||
|
||
``` | ||
$ docker run -d -p 5900:5900 --link selenium-hub:hub -v /dev/shm:/dev/shm selenium/node-opera-debug | ||
``` | ||
|
||
You can acquire the port that the VNC server is exposed to by running: | ||
(Assuming that we mapped the ports like this: 49338:5900) | ||
``` bash | ||
$ docker port <container-name|container-id> 5900 | ||
#=> 0.0.0.0:49338 | ||
``` | ||
|
||
In case you have [RealVNC](https://www.realvnc.com/) binary `vnc` in your path, you can always take a look, view only to avoid messing around your tests with an unintended mouse click or keyboard interrupt: | ||
``` bash | ||
$ ./bin/vncview 127.0.0.1:49338 | ||
``` | ||
|
||
If you are running Boot2Docker on Mac then you already have a [VNC client](http://www.davidtheexpert.com/post.php?id=5) built-in. You can connect by entering `vnc://<boot2docker-ip>:49160` in Safari or [Alfred](http://www.alfredapp.com/) | ||
|
||
When you are prompted for the password it is __secret__. If you wish to change this then you should either change it in the `/NodeBase/Dockerfile` and build the images yourself, or you can define a docker image that derives from the posted ones which reconfigures it: | ||
|
||
``` dockerfile | ||
FROM selenium/node-opera-debug:3.141.59-20200326 | ||
|
||
RUN x11vnc -storepasswd <your-password-here> /home/seluser/.vnc/passwd | ||
``` | ||
|
||
## What is Selenium? | ||
_Selenium automates browsers._ That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well. | ||
|
||
Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks. | ||
|
||
See the Selenium [site](http://docs.seleniumhq.org/) for documation on usage within your test code. | ||
|
||
## License | ||
|
||
View [license information](https://github.com/SeleniumHQ/docker-selenium/blob/master/LICENSE.md) for the software contained in this image. | ||
|
||
## Getting Help | ||
|
||
### User Group | ||
|
||
The first place where people ask for help about Selenium is the [Official User Group](https://groups.google.com/forum/#!forum/selenium-users). Here, you'll find that most of the time, someone already found the problem you are facing right now, and usually reached the solution for which you are looking. | ||
|
||
_Note: Please make sure to search the group before asking for something. Your question likely won't get answered if it was previously answered in another discussion!_ | ||
|
||
### Chat Room | ||
|
||
The best place to ask for help is the user group (because they also keep the information accessible for others to read in the future). However, if you have a very important (or too simple) issue that needs a solution ASAP, you can always enter the IRC chat room. You might just find someone ready to help on `#selenium` at [Freenode](https://freenode.net/) or [SeleniumHQ Slack](https://seleniumhq.herokuapp.com/) | ||
|
||
### Issues | ||
|
||
If you have any problems with or questions about this image, please contact us through a [Github issue](https://github.com/SeleniumHQ/docker-selenium/issues). If you have any problems with or questions about Selenium, please contact us through Selenium's [Bug Tracker](https://github.com/SeleniumHQ/selenium/issues). | ||
|
||
## Contributing | ||
|
||
There are many ways to [contribute](http://docs.seleniumhq.org/about/getting-involved.jsp) whether by answering user questions, additional docs, or pull request we look forward to hearing from you. | ||
|
||
If you do supply a patch we will need you to [sign the CLA](https://spreadsheets.google.com/spreadsheet/viewform?hl=en_US&formkey=dFFjXzBzM1VwekFlOWFWMjFFRjJMRFE6MQ#gid=0). We are part of [SFC](http://www.sfconservancy.org/) |
Oops, something went wrong.