Skip to content

Latest commit

 

History

History
94 lines (54 loc) · 5.1 KB

README.md

File metadata and controls

94 lines (54 loc) · 5.1 KB

Selenium Grid Node - Firefox 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-firefox-debug Dockerfile

How to use this image

First, you will need a Selenium Grid Hub that the Node will connect to.

$ docker run -d -P --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 --link selenium-hub:hub selenium/node-firefox-debug

You can acquire the port that the VNC server is exposed to by running:

$ docker port <container-name|container-id> 5900
#=> 0.0.0.0:49338

Using RealVNC you can look in view only mode, to avoid accidentally messing up your tests, utilizing our vncview script.

$ ./bin/vncview 127.0.0.1:49338

If you are running Boot2Docker on Mac then you already have a VNC client built-in. You can connect by entering vnc://<boot2docker-ip>:49160 in Safari or Alfred

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:

FROM selenium/node-firefox-debug:2.44.0

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 for documation on usage within your test code.

Known Issues

Problems with /dev/random

You may occasionally see that nodes will not immediately connect with the hub. In some cases the delay has been as high as 40 minutes. This is due to a known problem with linux containers where there is a lack of entropy within the running container. James Bayer wrote a great article explaining the core of the problem.

You can either install an entropy gathering daemon (EGD), such as HAVEGED, on you docker host.

-- or --

Run your container with the -v /dev/urandom:/dev/random option. ie:

$ docker run -d -v /dev/urandom:/dev/random --link selenium-hub:hub selenium/node-firefox

License

View license information 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. 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.

Issues

If you have any problems with or questions about this image, please contact us through a Github issue. If you have any problems with or questions about Selenium, please contact us through Selenium's Bug Tracker.ems with or questions about Selenium, please contact us through Selenium's But Tracker.

Contributing

There are many ways to contribute 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. We are part of SFC