run selenium selenium-webdriver xvfb

selenium - run - ¿Cómo hacer visible la visualización de Xvfb?



xvfb ubuntu (4)

Puede obtener una vista en vivo ejecutando un servidor VNC en la pantalla Xvfb, como este:

x11vnc -display :99 -localhost & vncviewer :0

Estoy ejecutando selenio a través de Xvfb en el número de pantalla: 99 de esta manera:

/ usr / bin / Xvfb: 99 -ac -screen 0 1024x768x8 y export DISPLAY = ": 99" && java -jar /usr/lib/selenium/selenium-server-standalone-2.24.1.jar -port 4444

Sin embargo, mostrar con un número distinto de: 0 no está visible por defecto. ¿Cómo lo hago visible para ver realmente qué está haciendo el selenio en el navegador?


Todo lo que necesita es instalar x11vnc través de:

sudo apt-get install x11vnc xvfb fluxbox

Opcionalmente instale fluxbox para tener un gestor de ventanas simple.

Luego, para configurar el acceso a Xvfb para el control remoto, puede usar X11 sobre SSH o VNC sobre SSH, por ejemplo

export DISPLAY=:1 Xvfb :1 -screen 0 1024x768x16 & fluxbox & x11vnc -display :1 -bg -nopw -listen localhost -xkb

Si su Xvfb solo escucha en localhost, puede configurar el tunneling en localhost, por lo que un vncviewer puede conectarse a localhost para obtener el control remoto del servidor. P.ej

ssh -N -T -L 5900:localhost:5900 user@remotehost & vncviewer -encodings ''copyrect tight zrle hextile'' localhost:5900

O para escuchar en todas las direcciones con contraseña, use:

x11vnc -display :0.0 -usepw

Para configurar la contraseña, ejecute: x11vnc -storepasswd .

Ver: control remoto sobre SSH en la página Xvfb de Wikipedia

O puede usar el siguiente delineador:

$ x11vnc -create -env FD_PROG=/usr/bin/fluxbox / -env X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 / -env X11VNC_CREATE_GEOM=${1:-1024x768x16} / -gone ''killall Xvfb'' / -bg -nopw

  • -create hace iniciar Xvfb
  • X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 hace ir a la sesión Xvfb creada (Pantalla :1 lugar de :0 que será el escritorio normal)
  • FD_PROG=/usr/bin/fluxbox hace encender Fluxbox (el de Ubuntu, debe tener el logo de Ubuntu de fondo)
  • X11VNC_CREATE_GEOM=${1:-1024x768x16} configura la pantalla a color de 16 bits 1024x768
  • -gone limpia cuando sale, ya que de lo contrario se deja xvfb (matar xvfb también mata a fluxbox )

Ver: Ubuntu Fluxbox GUI con x11vnc y Xvfb


Una solución simple es también tomar constantemente capturas de pantalla del programa como esta:

while /bin/true; do DISPLAY=:99 import -window root ~/Pictures/xvfb_screenshot.png sleep 0.1 done & PID=$! feh --reload 0.1 ~/Pictures/xvfb_screenshot.png 2>/dev/null kill $PID

Nota: requiere instalar imagemagick y feh


Es virtual. Desde la página man Xvfb(1) :

Xvfb es un servidor X que puede ejecutarse en máquinas sin hardware de visualización y sin dispositivos de entrada física. Emula un framebuffer tonto usando memoria virtual.

También en la página de manual:

Xvfb -pixdepths 3 27 -fbdir /var/tmp El servidor escuchará las conexiones como el servidor número 0, tendrá la configuración de pantalla predeterminada (una pantalla, 1280x1024x8), también admitirá profundidades de mapa de bits de 3 y 27, y utilizará memoria asignada archivos en / var / tmp para el framebuffer.

xwud -in /var/tmp/Xvfb_screen0 Muestra la pantalla 0 del servidor iniciado por el ejemplo anterior.