Selenio e senza testa Ambiente
-
30-09-2019 - |
Domanda
Recentemente ho installato Python 2.7, Robot Framework e la Biblioteca selenio (io ancora non so se ci sono riuscito però ...) su un server Red Hat per eseguire alcuni test su un'applicazione web.
Così ho cercato un banco di prova semplice utilizzando robot Framework per vedere se selenio Biblioteca è funzionale, solo per aprire una pagina web, niente di più ...
Il selenio Server è installato e funzionante in base al risultato di ps, e file binari di Firefox si trovino nel percorso ...
L'esecuzione del test case dal quadro Robot (con la testcasename.tsv pybot) ottengo un'eccezione:
ERRORE: Problema catturare uno screenshot di stringa: java.awt.AWTException: ambiente senza testa ??p>
Quindi, qual è il ambiente senza testa ??em>? Qualcuno ha un'idea se c'è qualcos'altro che ha bisogno di essere installati o da configurare come bene?
Soluzione
Uso della X Virtual Frame Buffer (Xvfb):
Possiamo usare Xvfb per creare un ambiente senza testa di selenio (per esempio, per eseguire su SSH).
Istruzioni:
-
Inizia
xvfb
con le seguenti opzioni:$ Xvfb :89 -ac -noreset
(dove
:89
è il "display" virtuale creata). -
Quindi, impostare la variabile
DISPLAY
essere questa visualizzazione virtuale:$ export DISPLAY=:89
-
A questo punto, siamo in grado di eseguire il server di selenio, se lo desideri. Esempi seguono.
Esegui l'archivio Java server:
$ java -jar selenium-server.jar
In Python:
from selenium import webdriver
driver = webdriver.Firefox()
...
Altri suggerimenti
Ecco una semplice libreria Robot solo per questo scopo.