Maison > développement back-end > Tutoriel Python > Comment exécuter des tests Selenium sur des serveurs sans tête sans rencontrer « Erreur : impossible d'ouvrir l'affichage : :0 » ?

Comment exécuter des tests Selenium sur des serveurs sans tête sans rencontrer « Erreur : impossible d'ouvrir l'affichage : :0 » ?

Patricia Arquette
Libérer: 2024-11-19 02:01:02
original
695 Les gens l'ont consulté

How to Run Selenium Tests on Headless Servers without Encountering

Exécution de Selenium dans Xvfb : dépannage des erreurs d'affichage sur les serveurs sans tête

Problème :

Lors de l'exécution de tests Selenium sur un Amazon Instance EC2 sans interface utilisateur graphique (GUI), les utilisateurs peuvent rencontrer l'erreur :

Error: cannot open display: :0
Copier après la connexion

malgré l'installation des packages nécessaires comme Selenium, Firefox et Xvfb.

Solution :

Pour exécuter Selenium sans affichage visible, PyVirtualDisplay ou Xvfbwrapper fournissent des solutions sans tête.

PyVirtualDisplay

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()
Copier après la connexion

Xvfbwrapper

from xvfbwrapper import Xvfb

vdisplay = Xvfb()
vdisplay.start()

# launch stuff inside virtual display here

vdisplay.stop()
Copier après la connexion

Alternativement, pour une gestion plus propre du contexte, utilisez Xvfbwrapper comme suit :

from xvfbwrapper import Xvfb

with Xvfb() as xvfb:
    # launch stuff inside virtual display here.
    # It starts/stops in this code block.
Copier après la connexion

En utilisant ces solutions sans tête, les tests Selenium peuvent s'exécuter avec succès sur des serveurs sans capacités GUI, permettant automatisation et tests dans des environnements sans tête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal