Bien évidemment, cet article vous donne les bases de l'utilisation de cette librairie. Il est fort recommandé d'aller se documenter directement sur le site officiel (https://selenium-python.readthedocs.org/) pour en apprendre d'avantage notamment sur les autres manières de localiser les éléments. Cette librairie couplée ou non avec d'autres est très puissante et permet de faire énormément de choses. Pour ma part je m'en suis servi pour récupérer automatiquement des centaines de fichiers Excel plutôt que de le faire à la main. Ou tout simplement pour faire du scrapping (Voir mes autres articles).
Dans le chapitre « Automatisation des moyens photomécaniques »  : […] Les tables de prise de vue image par image assistées par ordinateur sont aujourd'hui d'un usage courant. C'est pourtant pour des recherches esthétiques particulières que John Withney avait, dans les années quarante, construit autour d'un ordinateur militaire son Cam System (Film Exercice, 1943-1944 ; Catalog, 1961), afin d' […] Lire la suite☛ http://www.universalis.fr/encyclopedie/cinema-cinemas-paralleles-le-cinema-d-animation/#i_2513
PhantomJS va nous servir de "Web-Driver" et cela sera là son unique utilité. De quoi s'agit-il ? Afin que Python puisse interagir avec le navigateur Web (Chrome, Firefox ou autres), de la même manière que la communication avec une base de données, il nous faut un driver (pilote). C'est là qu'intervient le Web Driver, il permet la communication entre le navigateur Web et notre script Python. De base, Selenium peut utiliser différents drivers pour différents navigateurs (Chrome, Firefox, Opéra) mais ce qui nous intéresse, ce n'est pas d'ouvrir un navigateur mais d'avoir un navigateur headless (sans interface graphique, uniquement en ligne de commandes). C'est là qu'intervient PhantomJS, qui fournit lui-même son Web Driver. L'utilité c'est donc la rapidité d'exécution par rapport aux navigateurs classiques.
Internet est une mine d’or pour trouver l’information qu’il vous manque. Et parfois vous souhaitez récupérer des masses d’information. Votre souci est alors de récupérer ces informations et le faire manuellement peut être très vite fastidieux car répétitif. De nombreux éditeurs ont développé des solutions logicielles pour vous aider à automatiser ce genre de tâches. Dans cet article, nous allons vous présenter quelques unes des possibilités offertes par l’un de ces logiciels, Zennoposter.

Agent-assisted automation refers to automation used by call center agents to handle customer inquiries. There are two basic types: desktop automation and automated voice solutions. Desktop automation refers to software programming that makes it easier for the call center agent to work across multiple desktop tools. The automation would take the information entered into one tool and populate it across the others so it did not have to be entered more than once, for example. Automated voice solutions allow the agents to remain on the line while disclosures and other important information is provided to customers in the form of pre-recorded audio files. Specialized applications of these automated voice solutions enable the agents to process credit cards without ever seeing or hearing the credit card numbers or CVV codes[90]


Dans le chapitre «  Vers l'automatisation des échecs »  : […] L'aspiration à une automatisation des échecs ne s'est d'abord traduite que par des récits de fiction puis par de pseudo-robots comme Turc qui, en 1809, gagna une partie à Napoléon Ier et dans lequel un joueur de petite taille pouvait se loger à l'insu du public. La première réalisation véritable – elle était électromécanique […] Lire la suite☛ http://www.universalis.fr/encyclopedie/jeu-d-echecs/#i_2513
Ma dernière expérimentation m’a permis d’obtenir un ensemble de tests de non-régression pour une application web mobile, multiplateformes (Browser),  multilingue (Anglais/Français) et multi-environnement (QA/ DEV/ Intégration) en moins de 15 JP d’effort. Créer de nouveaux scénarios requiert environ 1 JP par scénario et la maintenance est de 0,5 JP par itération. Le temps d’exécution étant de 2 minutes par scénario.
Dans le chapitre « Un prolongement de la révolution industrielle »  : […] 1950 à la fin des années 1970, la première vague de développement de l'informatique va correspondre à un mouvement d'automatisation des tâches de coordination internes aux organisations. L'informatique prend en charge la gestion comptable, puis celle du personnel, puis est utilisée pour automatiser les décisions les plus « mécaniques » comme les […] Lire la suite☛ http://www.universalis.fr/encyclopedie/internet-economie-d-internet/#i_2513
Digital electronics helped too. Former analogue-based instrumentation was replaced by digital equivalents which can be more accurate and flexible, and offer greater scope for more sophisticated configuration, parametrization and operation. This was accompanied by the fieldbus revolution which provided a networked (i.e. a single cable) means of communicating between control systems and field level instrumentation, eliminating hard-wiring.

Vous pouvez également définir la valeur basée sur les variables off qui ont des valeurs mémorisées. Par exemple, si vous lisez du texte à partir d’un fichier et que vous le stockez dans une variable, vous pouvez alors utiliser cette variable pour entrer du texte dans des boîtes de dialogue de type texte. Ceci est utile lorsque le texte de la zone de texte change à chaque fois que vous exécutez le bot.
I am a relative newbie to Sahi but I am finding that Sahi is a fantastic way to automate tests and then run them on a variety of browsers including Firefox, Chrome and IE. I am a little reluctant to include IE because it gives me the most problems when dealing with https sites. I haven't tried Sahi on a Mac, but I am confident that it will work there without too much difficulty. FYI. I developed an interesting pattern for moving through our website by having a script per page that "knows" how to recursively include the path it needs to get from any given starting page to itself. This is a work in progress because there are a lot of pages. I will be adding more smarts so that each page script will "know" how to test the page, including link testing and full page screen captures. Suggestions for the last - welcomed,
Heureusement aujourd’hui, il existe différents outils qui aident les équipes de développement logiciel à construire et exécuter des tests automatisés. De nombreuses équipes utilisent des tests unitaires dans le cadre de leurs processus de développement pour vérifier les parties critiques de leurs projets tels que les bibliothèques de classes, les modèles et les méthodes. Historiquement, les tests automatisés pour les interfaces graphiques ont été plus difficiles, et des outils actuellement disponibles pour ceci ne sont gratuites.
18. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 17 III. Peut-on envisager une totale automatisation des tests ? A. Les avantages de l’automatisation La rentabilité Le premier avantage évident de l’automatisation des tests est la rentabilité. Il est nettement plus rapide de passer un robot plutôt que de réaliser les tests à la main. Un humain peut également assez facilement se tromper sur un test à réaliser. Ce n’est pas génant pour l’utilisation de l’application. Seulement, le processus de tests est retardé : il faut recommencer et parfois le processus peut être un peu long (redémarrage de l’application - d’une fonction - manipulation à recommencer depuis le début). La rentabilité de l’entreprise est largement améliorée grâce à l’automatisation. Celle-ci gagne en temps et donc en argent. L’argent qui n’est pas dépensé en ressources humaines est réinvesti dans d’autres utilisations. Logiciel plus fiable car meilleure couverture L’automatisation permet de couvrir l’application jusqu’aux tests les plus détaillés. En effet grâce au gain de temps obtenu, il est possible de tester chaque partie de l’application même pour les tests « minimes ». Il est possible alors de déceler une anomalie qui aurait pu être masquée par la recette manuelle : pas le temps pour le moment de tester si un champ peut comprendre des chiffres et/ou des lettres et/ou des caractères spéciaux. Gain de temps L’automatisation des tests « déporte » la charge de travail en fin de cycle de développement plus en amont. L’effort d’écriture des suites de test s’effectue avant la phase de tests. En fin de projet, le temps est souvent « compressé » et le travail demandé auprès des testeurs est bien souvent assez conséquent. Grace à l’automatisation, les tests réalisés et les anomalies détectées permettent un retour plus raide à l’équipe de développement et donc un traitement immédiat. Moins de stress pour les équipes Suite à la rapidité des retours cités ci-dessus, les testeurs ont donc une pression moins forte. Ceux-ci peuvent rejouer les tests plusieurs fois et ne se précipitent pas pour effectuer les tests comme le feront les testeurs manuels. Ils évitent ainsi de passer certains tests. L’application étant de meilleure qualité a donc un meilleur retour du client, c’est un facteur essentiel de motivation des équipes.
Aussi, les intervenants chargés des tests fonctionnels et des tests d’intégration en interne disposeraient d’une méthodologie adaptée pour tester l’application, ce qui rendrait ces opérations réellement efficace en permettant de remonter des anomalies qui n’aurait pas pu être identifiés autrement. Le client trouvera donc à son tour moins de bogues, ce qui permet de diminuer les aller-retours entre le client et la société et qui améliore la qualité du travail fourni au client.
Aujourd’hui je vous propose de réaliser une petite application qui va se connecter à un site et qui va aller télécharger un fichier. Le meilleur dans l’histoire c’est que tout cela va se faire automatiquement sans que vous ayez à lever le petit doigt. De la magie ? Non, nous devons cela à la gem Mechanize que je vais vous présenter sans plus attendre.

7. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 6 Les différents types de tests : Les tests unitaires Ceux-ci sont réalisés par les développeurs/concepteurs de l’application. Ils sont effectués pour tester les modules de l’application, c’est-à-dire les bouts de code. A chaque modification du code, ces tests (automatisés) sont rejoués afin de vérifier que celui-ci fonctionne correctement. Les tests d’intégration logiciel : Ceux-ci suivent les tests unitaires et ils couvrent toute l’application. Ces tests comportent des aspects techniques et fonctionnels. Les tests techniques applicatifs : Lorsque la livraison a été effectuée, il est nécessaire de vérifier les aspects techniques : - Conformité des livraisons (versions…) - Installation des composants selon la documentation - Bon fonctionnement (crash, bugs à l’exécution…) - Erreurs techniques : paramétrage, fichier manquant Les tests fonctionnels applicatifs : Ces tests sont à la fois techniques et fonctionnels. Bien souvent, les équipes sautent cette étape pour passer directement aux tests fonctionnels métier et effectuer les deux types de tests en même temps. Ces tests doivent vérifier les cas non passant (générant des messages d’erreurs), les cas aux limites (des cas mettant en jeu des données se situant aux limites des règles métiers) et les cas de non régression au niveau applicatif. Les tests fonctionnels métier : Ces tests ont pour but de jouer des scénarios type utilisateur. Ce sont des scénarios « bout en bout » qui sont mis en place et joués par les testeurs. Le but étant de vérifier la qualité du produit. Ces tests doivent être réalisés dans des conditions « réelles » pour simuler les actions utilisateurs qui seront effectuées en production. Ces tests sont accomplis par la MOA, qui a une connaissance métier indispensable à cette phase. Les tests de non régression : Ces tests sont essentiels dans toutes les phases de recette. Comme indiqué par leurs noms, ces tests permettent de vérifier que l’application en question n’a pas régressé. Si une application subi une évolution, il est possible que celle-ci impacte des fonctionnalités déjà présentes. Il est impératif de s’assurer que les anciens modules sont toujours fonctionnels. L’unique solution permettant de détecter la régression est de réaliser l’ensemble des cas de tests à chaque livraison. Cette procédure s’avère très fastidieuse si une automatisation n’est pas mise en place.

Vous avez la possibilité via un système de pré-requis ("required/desired capabilities") de tester des navigateurs sur différentes plateformes de différentes versions (FF sur Linux version 32, FF sur Windows version 30, etc). Selon les drivers utilisés, vous pouvez également spécifier divers paramètres comme un profil utilisateur (voir même le créer), ajouter un proxy, ajouter des extensions, etc.
Get an inventory of operating system resources including installed applications and other configuration items. Use rich reporting and search to quickly find detailed information on everything that’s configured within the operating system. Track changes across services, daemons, software, registry, and files to promptly investigate issues—and turn on diagnostics and alerting to monitor for unwanted changes.
9. HITEMA – Groupama Gan Vie L’automatisation des tests fonctionnels SIMON Emeline 8 En fonction de la méthode utilisée, ce sont deux chronologies qui apparaissent : 3 - Source : http://fr.slideshare.net/JUGLausanne/initiation-aux-tests-fonctionnels-philippe-kernevez- october-2009 Avant d’effectuer ces tests, l’étape primordiale est la préparation de recette. B. La préparation de recette et les plannings 1) Planning et plan de tests Comme décrit ci-dessus, la recette nécessite une préparation ainsi qu’un suivi complet. C’est pourquoi il est nécessaire avant de commencer la recette, de réaliser des plannings. C’est en planifiant des réunions MOA – MOE qu’il est possible de déterminer la charge de travail nécessaire. En effet, la MOE étant responsable du développement, elle est en capacité de donner des dates butoirs à la MOA. Ces dates constituent les différentes livraisons des composants de l’application. Cela peut être une fonctionnalité ou bien une interface. Quoiqu’il en soit, ces dates de livraison permettent à la MOA d’organiser les différentes phases de recette et surtout l’enchainement logique. C’est ce qui s’appelle un plan de tests : ce plan est constitué du planning mais aussi de la trame logique à suivre. Pour chaque période est associée un module à tester et une ou plusieurs ressources. [Annexe 1] Il possible de chevaucher les développements avec la recette lorsque le temps est précieux et non suffisant. Dans ce cas, la Moa effectue les tests fonctionnels sur les modules livrés par la MOE. Cependant, cela peut engendrer quelques problèmes de fonctionnement de l’application car certaines interfaces / fonctionnalités nécessitent d’autres modules qui ne sont pas encore livrés. Cela engendre du travail inutile de tests.
In a typical hard wired motor start and stop circuit (called a control circuit) a motor is started by pushing a "Start" or "Run" button that activates a pair of electrical relays. The "lock-in" relay locks in contacts that keep the control circuit energized when the push button is released. (The start button is a normally open contact and the stop button is normally closed contact.) Another relay energizes a switch that powers the device that throws the motor starter switch (three sets of contacts for three phase industrial power) in the main power circuit. Large motors use high voltage and experience high in-rush current, making speed important in making and breaking contact. This can be dangerous for personnel and property with manual switches. The "lock in" contacts in the start circuit and the main power contacts for the motor are held engaged by their respective electromagnets until a "stop" or "off" button is pressed, which de-energizes the lock in relay.[10]
Dans le chapitre « Une omniprésence des nouvelles technologies »  : […] GPS et systèmes de géo- localisation....) on distingue dans le domaine du management de la force de vente deux principaux dispositifs : celui de l'automatisation de la force de vente (A.F.V. ou Sales Force Automation) et celui de la gestion de relation client [(G.R.C. ou Customer Relationship Management (C.R.M.)], ces deux systèmes étant […] Lire la suite☛ http://www.universalis.fr/encyclopedie/force-de-vente-gestion/#i_2513

Dans le chapitre «  Vers l'automatisation des échecs »  : […] L'aspiration à une automatisation des échecs ne s'est d'abord traduite que par des récits de fiction puis par de pseudo-robots comme Turc qui, en 1809, gagna une partie à Napoléon Ier et dans lequel un joueur de petite taille pouvait se loger à l'insu du public. La première réalisation véritable – elle était électromécanique […] Lire la suite☛ http://www.universalis.fr/encyclopedie/jeu-d-echecs/#i_2513


Toutes vos actions sont enregistrées dans un log que vous pouvez modifier. Wildfire contient un « workflow editor » qui vous permet d’éditer les actions enregistrées. Vous pouvez facilement modifier une URL saisie, ajouter ou supprimer des actions : clic, nouvel onglet, fermeture d’onglet, saisie de texte, ajout d’une variable, d’une fonction personnalisée, scroll, sélection de texte, copier/coller, import CSV…
Le terme « automatisation » sous-entend que ce sont les machines qui font le travail et non les humains. Le volume d’effort manuel requis dans le cadre des tests automatisés est l’un des aspects les moins bien compris du test logiciel. En effet, les individus doivent configurer les machines de test, créer les scripts, sélectionner les tests, analyser les résultats des tests, enregistrer les anomalies et nettoyer les machines de test. Il est important d’estimer précisément ces coûts, non seulement à des fins de budgétisation et de planification, mais également pour calculer précisément le retour sur investissement.
Fondative s’intéresse en particulier à automatiser les tests pour ses applications Symfony. Ce framework présente déjà 2 classes natives permettant l’automatisation : il s’agit de sfBrowser et sfTestFunctional. Les fonctions basiques de ces classes ne répondent pas directement aux exigences des tests d’acceptation. Exemple : pour un scénario de renseignement des champs d’un formulaire, il n’existe pas de méthode toute prête permettant l’exécution de ce test ; le développeur est amené à écrire la fonction correspondante. Par contre avec Codeception, il existe une fonction « fillField » où il suffit de passer les noms des champs et les valeurs en paramètres pour que le test soit exécuté. Cette limite fait de Codeception la solution la plus adéquate à l’automatisation d’une application Symfony, il fournit des classes couvrant mieux les besoins des deux niveaux de test (fonctionnels et acceptation).
×