Question

J'ai récemment installé Python 2.7, Robot Framework et la Bibliothèque Sélénium (je ne sais pas encore si je réussissais bien ...) sur un serveur Red Hat pour exécuter un certain test sur une application web.

Alors j'ai essayé un exemple simple de test à l'aide Robot Framework pour voir si Sélénium Library est fonctionnelle, juste pour ouvrir une page Web, rien de plus ...

Selenium Server est en cours d'exécution et en fonction du résultat de ps et binaires Firefox sont dans le PATH ...

L'exécution du cas de test du cadre Robot (avec le testcasename.tsv de pybot) Je reçois une exception:

  

ERREUR: Problème capture d'une capture d'écran à la chaîne: java.awt.AWTException: environnement sans tête

Alors, quel est le environnement sans tête ? Est-ce que quelqu'un a une idée s'il y a autre chose qui doit être installé ou à configurer ainsi?

Était-ce utile?

La solution

Utilisation du X Virtual Frame Buffer (Xvfb):

Nous pouvons utiliser xvfb pour créer un environnement sans tête pour le sélénium (par exemple, pour exécuter sur SSH).


Instructions:

  1. Démarrer xvfb avec les options suivantes:

    $ Xvfb :89 -ac -noreset

    (où :89 est le "display" virtuel créé).

  2. Ensuite, définissez la variable DISPLAY être cet affichage virtuel:

    $ export DISPLAY=:89

  3. À ce stade, nous pouvons exécuter le serveur de sélénium comme vous le souhaitez. suivre les exemples.

Exécuter le serveur Java archive:

$ java -jar selenium-server.jar

En Python:

from selenium import webdriver

driver = webdriver.Firefox()
...

Autres conseils

Voici une simple bibliothèque de robot juste pour cette fin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top