If I want to run Selenium tests inside a Docker container with a visible (not headless) browser, what are my options?
Please consider using Zalenium (https://opensource.zalando.com/zalenium/). The headline of Zalenium is - A flexible and scalable container based Selenium Grid with video recording, live preview, basic auth & dashboard.
As mentioned above, you can check the live preview of your test cases running on the browser.
P.S.:- Zalenium is a wrapper built on top of Selenium Grid
Docker is a software containership platform that provides virtualization from the os. In Docker, all software parts are organised as containers which includes the operating system, software, dependencies, environment variables, etc. Containers can be shared among different users, enabling quick installation and running of software and services which makes Docker user-friendly for automation testing, as the relevant container can just be downloaded and run as part of the automated test. Docker is also secure because it runs as an isolated process on the host machine.
It is to be noted that, Docker is isolated, secure and portable. However, there is no GUI and it does not run in bare metal speed.
Answering your questions:
Do I need to use a remote display viewer such as VNC?: As per the article GUIdock-VNC: using a graphical desktop sharing system to provide a browser-based interface for containerized software Docker can run natively on Linux hosts, while a small Linux VM is necessary to provide the virtualization services on Mac OS and Windows systems. On non-Linux systems, a single Docker container consists of a mini-VM, the Docker software layer, and the software container. But recently, support for OS-level virtualization has been added to Windows and Mac OS. Beta versions of Docker for both Windows and Mac OS are now available that allow Docker to run natively.
Is it possible to use a browser on the host?: No, because there is no UI. But then to have a visual view of your test execution you can install X Server Display
.
With that you can see the results:
To view the results in a visual manner you can use the Allure report which looks like:
How To Run Selenium WebDriver With Docker?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With