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.
                                                                                                                                                                                                                                                                                                                                                                                 

De plus en plus présents en entreprises, les assistants virtuels contribuent eux aussi à l’automatisation de certaines tâches professionnelles. Dans notre article, « L’assistant virtuel de demain : un cerveau global ? » nous vous parlions notamment d’Astro qui permet de faire rapidement le tri dans ses e-mails et de Findo dont le rôle est de naviguer dans nos boîtes mails, fichiers et cloud personnel pour y trouver l’information que l’on cherche. Et bien sûr, pour automatiser vos RDV il y a Julie Desk 😉

Wildfire est un outil gratuit, disponible en extension Chrome et Firefox. Le principe est simple : vous lancez l’enregistrement, vous effectuez des actions sur le web, vous arrêtez l’enregistrement. Quand vous le souhaitez, vous pouvez cliquer sur « Play » pour que les actions enregistrées soient effectuées. Vous pouvez même planifier l’exécution d’un workflow précédemment enregistré. C’est magique.


Human-machine interfaces (HMI) or computer human interfaces (CHI), formerly known as man-machine interfaces, are usually employed to communicate with PLCs and other computers. Service personnel who monitor and control through HMIs can be called by different names. In industrial process and manufacturing environments, they are called operators or something similar. In boiler houses and central utilities departments they are called stationary engineers.[57]
L’automatisation ne rend pas forcément le test logiciel plus rapide, plus fiable ou moins onéreux. Les coûts initiaux liés à la configuration et aux outils d’automatisation pouvant être élevés, l’automatisation des tests n’est profitable que si les coûts à long terme compensent ces dépenses initiales. En outre, les outils et méthodologies d’automatisation ne possèdent pas tous les mêmes caractéristiques, fonctionnalités et capacités, et chaque projet peut répondre à des exigences différentes, ce qui a des répercussions sur les coûts et les bénéfices.
Quand vous cliquez sur un lien qui déclenche un chargement en ajax, vous devez attendre la fin de ce chargement afin d'interagir avec. Vous pouvez attendre bêtement ou vous pouvez attendre précisément que la modification souhaitée soit effective avant de poursuivre vos tests (le framework fourni ces helpers). Vous (re)découvrirez plus en détails l'application que vous testez !
L’automatisation ne rend pas forcément le test logiciel plus rapide, plus fiable ou moins onéreux. Les coûts initiaux liés à la configuration et aux outils d’automatisation pouvant être élevés, l’automatisation des tests n’est profitable que si les coûts à long terme compensent ces dépenses initiales. En outre, les outils et méthodologies d’automatisation ne possèdent pas tous les mêmes caractéristiques, fonctionnalités et capacités, et chaque projet peut répondre à des exigences différentes, ce qui a des répercussions sur les coûts et les bénéfices.
29. L’automatisation des tests fonctionnels SIMON Emeline Annexe 4 : Exemple de test avec Selenium, classe Selenium. public class selenium { private Selenium selenium; @Before public void setUp() throws Exception { WebDriver driver = new FirefoxDriver(); String baseUrl = "http://localhost:8080/tutoselenium"; selenium = new WebDriverBackedSelenium(driver, baseUrl); } @Test public void testSelenium() throws Exception { // Connexion au site selenium.open("/tutoselenium/"); // On est page 1, on va page 2 selenium.type("id=contentForm:pageText", "2"); selenium.click("id=contentForm:nextPage"); selenium.waitForPageToLoad("30000"); // puis page 3 selenium.click("id=contentForm:page3Button"); selenium.waitForPageToLoad("30000"); // et retour page 1 selenium.select("id=contentForm:pageList_input", "value=1"); selenium.click("id=contentForm:nextPageButton"); selenium.waitForPageToLoad("30000"); // On passe en anglais selenium.click("id=headerForm:english_button"); // etc. } @After public void tearDown() throws Exception { selenium.stop(); } }
Le test continu, grâce à l’automatisation, s’intègre dans le processus  de développement et de distribution des logiciels afin d’obtenir le plus rapidement possible des retours sur les risques associés à chaque nouvelle version. L’implémentation de tests automatisés  permet de faire face à la complexité et au rythme accrus de développement et de livraison d’applications.
Une fois un scénario de test enregistré, il est possible de l’exporter dans plusieurs langages de programmation. Le langage PHP n’est pas intégré par défaut, il faut installer un second plugin pour pouvoir en bénéficier, disponible sur : https://addons.mozilla.org/fr/firefox/addon/selenium-ide-php-formatters/ Le code exporté sera au format PHPUnit. De fait, l’outil de tests unitaire et d'intégration PHPUnit sera capable de prendre en charge les scripts de tests générés par Selenium IDE. De même, Codeception qui est basé sur PHPUnit, devrait aussi prendre en charge ces tests. De cette façon, les testeurs n’ont pas à se soucier du code pour créer des scripts de tests fonctionnels et les développeurs peuvent intégrer ces tests à leur environnement PHPUnit. Néanmoins, ce deuxième plugin n’est plus maintenu depuis quelque temps, ce qui rend son utilisation compliqué.
Dans le cadre de leur stratégie d’opérations agiles, les entreprises déploient des packages lorsqu’ils sont prêts, souvent plusieurs fois par semaine. L’étape de test est par conséquent extrêmement importante afin de garantir la livraison d’un code fiable et de qualité. Toutefois, le test manuel requiert inévitablement de nombreuses ressources, peut retarder le processus de livraison, et n’identifie pas toujours les erreurs au niveau du code. Les outils d’automatisation de test gèrent les tests fonctionnels et de non-régression pour tout type de logiciel applicatif, et sont devenus incontournables dans le domaine de l’automatisation, ces dix dernières années. Parmi les solutions disponibles, on trouve : HP Quality Center, CA Blazemeter, Microsoft Test Manager, IBM Rational Test Workbench, et TestPlant.
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.
×