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 » ?
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
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()
Xvfbwrapper
from xvfbwrapper import Xvfb vdisplay = Xvfb() vdisplay.start() # launch stuff inside virtual display here vdisplay.stop()
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.
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!