docker-compose up -d
Connect via Remote desktop (E.g. Vinagre) to 127.0.0.0:5900
See UI automation in action
version: '2' | |
services: | |
uitesting: | |
container_name: virtual-desktops | |
image: virtual-desktops | |
volumes: | |
- ./example-test.sh:/custom/example-test.sh:ro | |
ports: | |
- 127.0.0.1:5900:5900 | |
# entrypoint: "/bin/bash -c 'Xvfb :1 -screen 0 1024x768x16 & x11vnc -display :1 & DISPLAY=:1.0 firefox http://aurelijus.banelis.lt/en'" | |
entrypoint: /custom/example-test.sh |
FROM ubuntu:latest | |
RUN apt-get update && \ | |
apt-get install -y xvfb firefox python-pip xdotool x11vnc | |
RUN apt-get install -y wget | |
RUN wget https://github.com/mozilla/geckodriver/releases/download/v0.16.1/geckodriver-v0.16.1-linux64.tar.gz | |
RUN tar zxvf geckodriver-v0.16.1-linux64.tar.gz && mv geckodriver /usr/bin/geckodriver | |
ENV DISPLAY=:1.0 | |
EXPOSE 5900 | |
# Xvfb :1 -screen 0 1024x768x16 & | |
# x11vnc -display :1 | |
# DISPLAY=:1.0 | |
ENTRYPOINT ["bash"] | |
#!/usr/bin/env bash | |
Xvfb :1 -screen 0 1024x768x16 & | |
x11vnc -display :1 & | |
DISPLAY=:1.0 firefox http://aurelijus.banelis.lt/en & | |
BROWSER_PID=$! | |
sleep 10 | |
xdotool mousemove 240 20 click 1 | |
sleep 1 | |
xdotool mousemove 50 20 click 1 | |
sleep 1 | |
xdotool mousemove 300 50 click 1 | |
sleep 1 | |
xdotool key --repeat=50 BackSpace | |
sleep 1 | |
xdotool key e v e n t s p a c e period b y | |
sleep 1 | |
xdotool key Return | |
wait $BROWSER_PID |