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

Quindi, qual è il ambiente senza testa ? Qualcuno ha un'idea se c'è qualcos'altro che ha bisogno di essere installati o da configurare come bene?

È stato utile?

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:

  1. Inizia xvfb con le seguenti opzioni:

    $ Xvfb :89 -ac -noreset

    (dove :89 è il "display" virtuale creata).

  2. Quindi, impostare la variabile DISPLAY essere questa visualizzazione virtuale:

    $ export DISPLAY=:89

  3. 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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top