Ouvrir une extension chrome par Selenium WebDriver à l'aide de Python
J'ai créé une extension chrome qui effectue des appels d'API de base de données et récupère des données sur un site web qui est actuellement ouvert. Par exemple, si j'ouvre target.com et cliquez sur l'extension qu'il vous donnera des données pertinentes à target.com.
Je suis en train d'écrire des tests automatisés à travers le sélénium web pilote qui je peut fonctionner sur une base régulière pour les tests de régression. Pour tester l'extension, j'ai besoin de la première ouverture de l'extension (généralement nous n'en cliquant sur l'icône de l'extension).
J'ai essayé différentes manières de tenter de cliquer sur l'icône de l'extension, mais n'ont pas été couronnés de succès. (Par exemple, en utilisant le raccourci clavier ALT - LEFT_ARROW - l'ESPACE, mais qui ne fonctionne pas par le webdriver).
J'ai aussi essayé cette (mentionné ici):
options = webdriver.ChromeOptions()
options.add_argument("--app-id = mbopgmdnpcbohhpnfglgohlbhfongabi")
Mais le code ci-dessus n'aide pas dans l'ouverture de l'extension.
J'aimerais avoir des idées sur comment puis-je faire cela à l'aide de python dans Selenium Webdriver.
Vous devez vous connecter pour publier un commentaire.
Nous avons les mêmes exigence, travail sur chrome avec Selenium WebDriver. Comme '@Alexandre Popovic dit, nous ne pouvons pas l'extension chrome cliquez sur l'icône avec WebDriver, comme l'icône de la Page web.
Nous utilisons sikuli (outil d'Automatisation qui rendent l'utilisation de la reconnaissance d'image), cliquez sur le chrome add-on. Après que l'add-on popup sera une autre fenêtre de navigateur, utilisez donc changer de fenêtre pour effectuer des actions sur les add-on popup.
Voici un exemple de code dans Java à l'aide de deux Selenium Webdriver et Sikuli.
Sikuli sera exécuté sur la base de reconnaissance d'images. Avant d'exécuter le code, la capture d'écran du navigateur chrome et des cultures de manière à ce qu'Addon est disponible dans l'image. Enregistrer l'image en tant que "AddonIcon.png".
Sikuli correspond à celui de l'image (Dans notre cas AddonIcon.png ) sur l'écran et de simuler l'action du clic sur elle.
J'espère que cela va vous aider.
Eu le même problème. Travaillé autour d'elle en utilisant le lien:
chrome-extension://<the extension identity>/html/login.html
- au lieu de l'icône.De cette façon, je peux tester toutes les fonctions de l'extension.
Sélénium prend en charge l'interaction avec l'affichage web seulement - donc, ce n'est pas possible.
J'ai été la recherche de solution à celle-ci pour un certain temps - et il s'est avéré, il n'en est pas.
https://code.google.com/p/selenium/issues/detail?id=7805
http://grokbase.com/t/gg/selenium-developer-activity/148xndmkna/issue-7805-in-selenium-clicking-on-chrome-extension-to-open-popup
pour ouvrir l'ajout de l'Extension: je pense que nous pouvons mettre en raccourci dans chrome://extensions/-> raccourcis Clavier , ajouter les raccourcis Clavier de votre extension, puis envoyer le Clavier pour lancer l'extension.
Je sais que c'est pas exactement le même mais je ne pouvais pas vous injecter une iframe dans la page avec la source de votre popup et interagir avec elle pour le test?
Essayez ceci: L'exécution de Selenium WebDriver à l'aide de Python avec des extensions (.les fichiers crx)
utilisation
options.add_extension('path_to_extension.crx')
Vous pouvez passer l'argument
--load-extension
pour le Chrome webdriver dans les options où le chemin d'accès sur votre déballé extension. Donc dans votre cas, vous pouvez utiliser:options.add_argument("--load-extension=ABSOLUTE_PATH_TO_EXTENSION")
Aussi, voici un lien vers un code que j'ai écrit qui fonctionne à l'aide de la
--load-extension
méthode. (C'est Ruby pas Python, mais devrait vous donner quelques pistes de réflexion.)chrome_options.add_argument("--load-extension=ABSOLUTE_PATH_TO_UNPACKED_EXTENSION");
mais mon problème est que je ne suis pas en mesure de cliquer sur l'extension (c'est à dire d'ouvrir l'extension) de webdriver