2012-02-09 21 views
8

Tengo un script de Python que usa selenio RC; específicamente webdriver.¿Es posible ejecutar scripts de Selenium sin tener también un servidor X en ejecución?

Me encantaría que el script se ejecutara como un enganche post-commit, idealmente a través de IE, Safari (si es posible), Chrome & Firefox.

Pero no estoy seguro de lo que tendría que hacer, ya que cada vez que lo ejecuto en mi máquina local, aparece un navegador.

He oído hablar de "saucelabs". ¿Es la mejor solución?

+0

Estuve luchando con esto hace algún tiempo, así que compartiré mi solución - instalación de Selenium y xvfb en Ubuntu Server: https://www.namekdev.net/2016/08/selenium-server-without-x -window-system-xvfb / – Namek

Respuesta

11

Sí, necesita tener el servidor X en ejecución porque Selenium requiere un navegador en ejecución y los navegadores necesitan algún tipo de servidor X para poder ejecutarlo.

Afortunadamente hay muchos tipos de servidores X y uno de ellos es Xvfb aka X framebuffer virtual que realiza todas las operaciones en la memoria y por lo tanto no requiere pantalla.

Wikipedia tiene también algunos nice examples. También hay muchas preguntas aquí en SO para las palabras clave headless, xvfb y selenium. Elija sabiamente;)

[Editar]: Here's a nice example.

Cuestiones relacionadas