J'observe l'erreur ci-dessous lorsque j'exécute un cas de test ouvert de navigateur Chrome à l'aide du framework robot.
WebDriverException: Message: erreur inconnue: Chrome n'a pas pu démarrer: sorti anormalement
(erreur inconnue: le fichier DevToolsActivePort n'existe pas)
(Le processus démarré à partir de l'emplacement chrome / usr / bin / google-chrome est ne fonctionne plus, donc ChromeDriver suppose que Chrome a s'est écrasé.) (Informations sur le pilote: chromedriver = 72.0.3626.69 (3c16f8a135abc0d4da2dff33804db79b849a7c38), plateforme = Linux 4.4.0-31-x86_64 générique)
a collé le script du robot ci-dessous:
*** settings *** Library Selenium2Library *** Variables *** ${Browser} Chrome ${URL} https://www.google.com *** Test Cases *** TC001 Browser Start and Close Open Browser ${URL} ${Browser}
versions de chrome utilisées:
4 Réponses :
Vous devez également mettre à jour Selenium, ce que vous obtiendrez si vous utilisez la dernière version de SeleniumLibrary (le «2» a été supprimé du nom).
Mettez à jour vos scripts pour le nouveau nom et mettez à jour avec:
pip install -U robotframework-seleniumlibrary
Essayez de changer votre pilote Chrome vers la version 2.45 basée sur http://chromedriver.chromium.org/downloads < / a> la version 72 est prise en charge par 2.45. :)
Je l'ai résolu! en utilisant --no-sandbox
Open Browser about:blank headlesschrome Open Browser about:blank chrome
au lieu de
${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver Call Method ${chrome_options} add_argument test-type Call Method ${chrome_options} add_argument --disable-extensions Call Method ${chrome_options} add_argument --headless Call Method ${chrome_options} add_argument --disable-gpu Call Method ${chrome_options} add_argument --no-sandbox Create Webdriver Chrome chrome_options=${chrome_options}
OMG cela a fonctionné pour moi. Ma situation est que nous avons un pipeline qui utilise une image ubuntu et un framework de robot en cours d'exécution. Sur mon mac local, cela fonctionne simplement en utilisant Open Browser, mais pas sur l'image ubuntu à l'aide de docker. Dans tous les cas, ça marche maintenant. J'ai essayé quelques autres options, mais celle-ci était la seule qui fonctionnait. Merci!
Voici une approche qui a fonctionné pour moi. Nous devons passer le chemin du pilote web chrome_options et chrome lors de l'ouverture du navigateur. Veuillez trouver le code ci-dessous.
*** Settings *** Library Selenium2Library *** Variables *** ${URL} https://www.google.com ${CHROMEDRIVER_PATH} /usr/local/bin/chromedriver *** Keywords *** Open Website ${chrome_options}= Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver Call Method ${chrome_options} add_argument --no-sandbox Call Method ${chrome_options} add_argument --headless Open Browser ${URl} chrome options=${chrome_options} executable_path=${CHROMEDRIVER_PATH} *** Settings *** Suite Setup Open Website
REMARQUE: Les options_chrome et le chemin_exécutable ont été transmis directement à Ouvrir le navigateur em > commande au lieu de créer un pilote Web (parce que, pour une raison quelconque, créer un pilote Web ne fonctionnait pas pour moi. Mais passer des arguments directement au navigateur a fonctionné)