Impossible d'ouvrir le navigateur google chrome en utilisant Selenium Webdriver. Chargement déballé les extensions sont désactivées par l'administrateur
Je suis l'automatisation de mon application en utilisant Selenium Webdriver, C#, Visual Studio et le navigateur Chrome.
Je suis en dessous de popup lors de sélénium essayé d'ouvrir le navigateur google chrome.
Failed to load extension from:C:\Users\VARA~1.PAK\AppData\Local\Temp\scoped_dir6712_14913\internal.
Loading of unpacked extensions is disabled by the administrator.
Une fois que je clique sur le bouton OK de la fenêtre contextuelle, Chrome est l'ouverture avec succès, mais mon test échoue en raison d'erreur ci-dessous.
Test Name: _3_EnterDetailsAndSelectAnAddress_John
Test FullName: Veolia.BrentGWP.UserStories.Features.BrentGWPFeature._3_EnterDetailsAndSelectAnAddress_John
Test Source: : line 2147483647
Test Outcome: Failed
Test Duration: 0:00:47.8059413
Result Message:
Test method Veolia.BrentGWP.UserStories.Features.BrentGWPFeature._3_EnterDetailsAndSelectAnAddress_John threw exception:
System.InvalidOperationException: unknown error: cannot get automation extension
from unknown error: page could not be found: chrome-extension://aapnijgdinlhnhlmodcfapnahmbfebeb/_generated_background_page.html
(Session info: chrome=41.0.2272.118)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)
Assert.Fail failed. Please check through the execution report against scenario
Result StackTrace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.InternalExecute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWindow.Maximize()
at Veolia.Libraries.Driver.BeforeScenario() in c:\development\Veolia.Web.Brent\development\testing\Automation\Veolia.test.Framework\Libraries\Driver.cs:line 105
at lambda_method(Closure , IContextManager )
at TechTalk.SpecFlow.Bindings.BindingInvoker.InvokeBinding(IBinding binding, IContextManager contextManager, Object[] arguments, ITestTracer testTracer, TimeSpan& duration)
at TechTalk.SpecFlow.Bindings.BindingInvokerExtensions.InvokeHook(IBindingInvoker invoker, IHookBinding hookBinding, IContextManager contextManager, ITestTracer testTracer)
at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.FireEvents(HookType bindingEvent)
at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.FireScenarioEvents(HookType bindingEvent)
at TechTalk.SpecFlow.Infrastructure.TestExecutionEngine.OnScenarioStart(ScenarioInfo scenarioInfo)
at TechTalk.SpecFlow.TestRunner.OnScenarioStart(ScenarioInfo scenarioInfo)
at Veolia.BrentGWP.UserStories.Features.BrentGWPFeature.ScenarioSetup(ScenarioInfo scenarioInfo) in c:\development\Veolia.Web.Brent\development\testing\Automation\Veolia.test.Framework\BrentGWP\UserStories\Features\AddressSearch.feature.cs:line 0
at Veolia.BrentGWP.UserStories.Features.BrentGWPFeature._3_EnterDetailsAndSelectAnAddress(String firstname, String lastname, String postcode, String email, String phoneNumber, String[] exampleTags) in c:\development\Veolia.Web.Brent\development\testing\Automation\Veolia.test.Framework\BrentGWP\UserStories\Features\AddressSearch.feature:line 16
at Veolia.BrentGWP.UserStories.Features.BrentGWPFeature._3_EnterDetailsAndSelectAnAddress_John() in c:\development\Veolia.Web.Brent\development\testing\Automation\Veolia.test.Framework\BrentGWP\UserStories\Features\AddressSearch.feature.cs:line 0
Chaque fois que le sélénium ouvrez google chrome il se charge de l'automatisation extension dans chrome pour travailler avec elle.
Mais dans notre organisation, nous sommes à l'aide de google mail et notre département bloqué ajout d'extensions(par un tiers et déballé) pour le navigateur google Chrome, pour des raisons de sécurité.
Si j'ai modifié le registre pour permettre à des tiers d'extensions, de test est en cours d'exécution avec succès. Mais notre département mises à jour de la politique de tous les jours sur tous les systèmes(automatique).
J'ai essayé d'utiliser AddExtension
et AddArgument
méthodes de ChromeOptions
classe, mais n'a pas fonctionné et j'ai obtenu le même message d'erreur.
Quelqu'un peut-il m'aider à surmonter ce problème?
OriginalL'auteur VaraPrasad Pakalapati | 2015-04-08
Vous devez vous connecter pour publier un commentaire.
J'ai fait quelque chose comme ceci (JAVA):
La deuxième ligne est tout ce dont vous avez besoin.
La troisième ligne est tout simplement faire de chrome fenêtre maximisée.
Le pop-up ne s'affiche pas à l'heure actuelle. HTH.
Cela a fonctionné pour moi (C#). Merci!
OriginalL'auteur jakbeb
Espère que ce ci-dessous la solution sera de vous aider.
HKEY_CURRENT_USER\Software\Policies\Google\Chrome\ExtensionInstallBlacklist
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallBlacklist
Cette solution fonctionne pour mon Windows 8.1 ordinateur aussi.
OriginalL'auteur prathyush
Aider à surmonter comment, exactement?
Sélénium requiert une aide de l'extension à la fonction.Une entreprise politique de verrouillage est en vigueur, de sorte que vous ne pouvez pas l'ajouter.Vous devrez soulever le problème auprès de votre service informatique si vous souhaitez exécuter des tests, après tout, vous avez une raison valable.
Mise à jour: Il semble que le Sélénium peut maintenant fonctionner sans l'automatisation de l'extension. Voir, par exemple, cette réponse pour plus de détails sur la façon de démarrer Chrome (sans l'extension) si vous devez éviter son utilisation.
Chromedriver semble toujours mettre son déballé extension dans un échantillon aléatoire temp emplacement,
ce qui provoque un ID aléatoire. Ce qui rend impossible la liste blanche de l'extension.En fait, non, l'ID de l'extension est épinglé. Cependant, la politique de l'entreprise ne permet pas de listes d'autorisation de décompressé extensions. Ce qui est raisonnable, car elle permettrait de contourner la sécurité (tous vous avez besoin est la
key
champs dans le manifeste pour usurper l'identité de l'ID).Faire Chromedriver charger les paniers extensions semble demander beaucoup de travail, et compte tenu de la Windows limitations sur leur installation peut être carrément impossible.
Correspondant Chromedriver bug (ignoré, paraît-il).
Vous pouvez demander la à la liste blanche seulement Sélénium extension par son ID. Encore, vous aurez à le faire.
Ajouter à la liste blanche aussi ne m'aide pas. Encore obtenu l'erreur
Si vous êtes en train de charger déballage à partir d'un dossier temp, le code d'identification de la changer tous les temps, puisqu'il est basé sur le chemin. Vous devez utiliser une version compressée.
Je ne suis pas sûr de la façon d'obtenir la version compressée. Le sélénium charge dynamiquement à partir de certaines emplacement temporaire.
OriginalL'auteur Xan
Selon ChromeDriver Questions utiliser les éléments suivants:
Supplémentaire: Pour l'utilisation de Sélénium avec Concombre-js
OriginalL'auteur shawn derik
La partie de la trace de la pile
est à cause de 3ème partie extensions installées sur Chrome. Vérifiez si vous avez des extensions installées, comme Add-Bloquants ou quelque chose.
J'ai rencontré le même problème et a été en mesure de les résoudre en supprimant les extensions installées dans le navigateur Chrome.
Si vous avez tout installé des extensions dans chrome, je suis sûr que leur suppression devrait résoudre le problème.
Je suppose que vous êtes confus au sujet de la troisième partie des extensions et Selenium WebDriver. Pouvez-vous indiquer la raison de l'apparition de la même extension dans l'erreur comme l'ID de l'extension Chrome? Dans mon cas, l'ID dans la trace de la pile était le même que l'ID de l'une des extensions installées, comment voulez-vous répondre à cela?
Le sélénium Chromedriver passe par la création d'un déballé copie de toutes les extensions, il a été demandé à injecter, toujours, y compris son propre "helper" avec l'extension ci-dessus ID. Puis il charge de Chrome avec un nouveau profil (donc pas les extensions sauf si vous remplacer le dossier de données utilisateur avec Chromedriver options) et tente d'ajouter des extensions de déballage. Chrome, quel que soit le profil, lit la politique de l'entreprise et bloque le chargement de la helper extension (comme en témoigne par Chrome de sortie). Chromedriver ne parvient pas à trouver l'extension avec la trace de la pile ci-dessus.
Avertissement: je n'ai jamais utilisé le Sélénium Chromedriver, mais spécifiquement pour cette question j'ai pris un coup d'oeil à son code source et le bug tracker pour confirmer.
On parle des extensions de Sélénium a le contrôle sur, je parle d'extensions que vous avez installé manuellement à google Chrome (3e Partie extensions). Je suis confiant sur ce en raison de l'appariement de l'identité de la 3e Partie des extensions et de l'extension ID présent dans la trace de la pile. Comment cela peut-il être mauvais?
OriginalL'auteur Razvi
L'déballé extension d'erreur surgit pour moi et j'ai demandé la suppression des restrictions en chrome qui a été forcée d'organisation politique. Une fois que les restrictions ont été supprimées, je suis en mesure d'exécuter le programme avec toutes les erreurs. ChromeBrowser-GPO-Nier - ce fut le seul qui a été retiré. Vous pouvez vérifier dans les Paramètres - Extensions - Vérifier sur le mode Développeur et voir si la charge déballé extensions est vérifié une fois les restrictions sont supprimées. Vous devriez être bon alors.
chromeOptions.useAutomationExtensions
- bugs.chromium.org/p/chromium/issues/detail?id=604324 (voir le Commentaire 22 Mar 31 post). Quelqu'un a mis en œuvre avec succès cette option ? Si je ne peux pas mettre en œuvre cette option correctement, alors nous aurons à communiquer à notre service informatique ce que l'extension Chrome doit être approuvé/dans la liste blanche. Le problème est que le helper extension semble être décompressé dans un dossier différent à chaque fois...Je n'ai pas fais que mon problème a été résolu lorsque le navigateur nier a été supprimé. Bonne chance et s'il vous plaît laissez-nous savoir.
OriginalL'auteur Syam
Ce message d'erreur...
Que par la discussion Échec du chargement de l'extension à partir de: ... le Chargement des déballé extensions est désactivée par l'administrateur ChromeDriver utilise Chrome automatisation extension pour l'automatisation des différentes fonctions de la fenêtre de dimensionnement, positionnement des fenêtres, etc.
La Échec du chargement de l'extension popup signifie que cette extension n'a pas été chargé. Si vous fermez manuellement le popup, le navigateur va agir normalement et ChromeDriver commandes continuera à fonctionner comme prévu. Mais dans ce cas, si vous essayez d'exécuter la fenêtre de redimensionnement de fenêtre ou de re-positionnement des commandes, il renvoie une erreur comme
unknown error: cannot get automation extension
.De fond: Jusqu'à ChromeDriver v2.28 chaque fois qu'une des organisations admin politique interdit extensions, pour contourner la restriction des utilisateurs ont utilisé l'argument
disable-extensions
comme suit (Code Java de l'Échantillon):et il a travaillé perfecto.
ChromeDriver v2.28 partir, chaque fois que
disable-extensions
drapeau est passé par de test, ChromeDriver implicitement passedisable-extensions-except
drapeau qui à son tour charge Chrome automatisation extension. Cette extension permet de Chromedriver pour effectuer le dimensionnement de la fenêtre et de la fenêtre de ré-opérations de positionnement.Donc, si votre admin organisation de la politique des blocs extensions, l'affichage de la popup Échec du chargement de l'extension à partir de: ... le Chargement des déballé extensions est un comportement attendu.
Solution
Comme une solution, vous pouvez définir la
useAutomationExtension
capacité àfalse
comme suit (Code Java de l'Échantillon):Cette capacité inturn aidera à charge pas Chrome Automatisation extension et
Failed to load extension
contextuel n'apparaît pas. Mais vous ne serez pas en mesure d'effectuer tout redimensionnement de la fenêtre/opérations de positionnement sans Chrome automatisation extension.trivia
La meilleure approche serait d'utiliser la dernière version de ChromeDriver et Chrome combinaison entre l'une des opérations suivantes:
ChromeDriver 73.0.3683.20
ChromeDriver 2.46
ouChromeDriver 72.0.3626.69
ChromeDriver 2.46
ouChromeDriver 71.0.3578.137
Alternatives
Les diverses alternatives:
ExtensionInstallWhitelist
à la liste blancheExtensionInstallBlacklist
contenant une chaîne de clé 1 avec la valeur*
OriginalL'auteur DebanjanB