Pregunta

Recientemente he instalado Python 2.7, Robot Framework y la Biblioteca selenio (todavía no sé si he conseguido aunque ...) en un Servidor de Red Hat para correr alguna prueba en una aplicación web.

Así que trató un caso de prueba simple usando Robot Framework para ver si selenio Biblioteca es funcional, sólo para abrir una página web, nada más ...

El selenio servidor está funcionando de acuerdo con el resultado de PS, y los binarios de Firefox en el trayecto ...

Al ejecutar el caso de prueba desde el marco del robot (con la testcasename.tsv pybot) consigo una excepción:

  

ERROR: Problema capturar una captura de pantalla de la cadena: java.awt.AWTException: medio ambiente sin cabeza

Así que, ¿cuál es el entorno sin cabeza ? ¿Alguien tiene una idea de si hay algo más que necesita ser instalados o configurados para ser así?

¿Fue útil?

Solución

Uso de la X Frame Virtual Buffer (Xvfb):

Podemos utilizar XVFB para crear un entorno sin cabeza para el selenio (por ejemplo, para ejecutar a través de SSH).


Instrucciones:

  1. xvfb de inicio con las siguientes opciones:

    $ Xvfb :89 -ac -noreset

    (donde :89 es la "pantalla" virtual creado).

  2. A continuación, establezca la variable DISPLAY que ser de esta pantalla virtual:

    $ export DISPLAY=:89

  3. En este punto, podemos ejecutar el servidor de selenio como se desee. Ejemplos siguen.

Ejecutar el archivo de Java del servidor:

$ java -jar selenium-server.jar

En Python:

from selenium import webdriver

driver = webdriver.Firefox()
...

Otros consejos

Aquí es una biblioteca simple robot sólo para ese fin.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top