J'ai le problème suivant: Lorsque j'effectue mes tests d'automatisation, l'alerte suivante "Désactiver l'extension du mode développeur" s'affiche dans Chrome.
Y at-il un moyen de supprimer/désactiver cela?. C'est un bloqueur pour moi car cela me fait échouer à certains tests.
Merci d'avance
Avez-vous essayé de désactiver les extensions développeur avec un paramètre de ligne de commande?
Essayez avec le code Java Selenium WebDriver suivant:
System.setProperty("webdriver.chrome.driver", "D:\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
driver = new ChromeDriver(options);
Je ne peux pas désactiver les extensions car j'en développe et en teste une.
Ce que je fais pour rejeter ce popup est le suivant:
SendKeys(Control-N)
). De manière prévisible, la fenêtre contextuelle "Désactiver les extensions du mode développeur" s'affiche après 3 secondes dans la nouvelle fenêtre. driver.Close();
(qui ferme également cette nouvelle fenêtre). Chrome prend cela comme "annuler", en supprimant la fenêtre contextuelle, en laissant la fenêtre et l'onglet d'origine.Je trouve cela nécessaire car la fenêtre contextuelle interfère avec les interactions normales du navigateur Selenium, comme SendKeys, que j'utilise pour changer d'onglet et de fenêtre.
Ce problème a été résolu automatiquement avec une combinaison de ChromeDriver.exe V2.23 + Chrome 53.0.
Pour comprendre quelle version de chrome fonctionnera avec quel pilote, nous pouvons utiliser la documentation détaillée suivante: https://sites.google.com/a/chromium.org/chromedriver/downloads
Profitez des tests automatisés !!
résolu en chrome 54 et chromedriver 2.25
J'ai résolu ce problème en utilisant AutoIT.
Tout d'abord, vous devrez créer le script.
closechromewarning.au3:
WinWaitActive("[CLASS:Chrome_WidgetWin_1]")
Send("{ESC}")
Le script doit être compilé en un .exe
, puis placez le .exe
dans le chemin afin qu'il puisse être exécuté.
Fonction qui ferme l'avertissement en utilisant la syntaxe c #:
public void CloseChromeDialog()
{
System.Threading.Thread.Sleep(5000);
Process.Start(@".\closechromewarning.exe");
}
Sleep(4000)
a fonctionné, mais je l'ai augmenté à Sleep(5000)
juste pour en être sûr.
Appelez CloseChromeDialog()
:
if(browser == chrome) //pseudo code
CloseChromeDialog();
Essayez d'ajouter setProperty au-dessus de l'instance ChromeDriver.
System.setProperty("webdriver.chrome.driver","C:/[PATH]/chromedriver.exe");
driver = new ChromeDriver(capabilities);
Moi aussi j'ai fait face à ce problème. La solution est que, si vous utilisez maven, ajoutez simplement:
-Dchrome.switches=--disable-extensions
Cela désactivera toutes les extensions et vous ne ferez pas face à ce problème.
A partir de Chromedriver v2.33, le moyen correct d'éviter ce message consiste à transmettre load-extension
à l'argument excludeSwitches
de l'objet chromeOptions
. Le code Java suivant devrait faire l'affaire, même si je ne l'ai pas testé, car j'utilise Python:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Collections.singletonList("load-extension"));
Comme d'autres l'ont fait remarquer, le coupable est probablement l'extension Chrome Automation, chargée automatiquement par Chromedriver lors du lancement de Chrome.
Chromedriver v2.33 a introduit le nouveau commutateur pour empêcher le chargement des extensions:
Mises à jour de la capacité excludeSwitches qui permet maintenant d'exclure le commutateur --load-extension.
Je suppose que cette solution ne vous oblige pas à désactiver toutes les extensions. Vous devriez toujours pouvoir charger les autres manuellement.
J'utilise Selenium Webdriver 2.53 et la version 56.0.2924.87 de Chrome, ainsi que le driver driver.exe que j'utilise est la version 2.27. avec cette combinaison, il travaille avec le
System.setProperty("webdriver.chrome.driver", "./utilities/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-extensions");
DesiredCapabilities caps = new DesiredCapabilities().chrome();
caps.setCapability(ChromeOptions.CAPABILITY, options);
driver = new ChromeDriver(caps);