Tutoriel appium
[Appium][1] est un outil d’automatisation de test open source et multiplateforme pour les applications Web natives, hybrides et mobiles, testé sur des simulateurs (iOS, FirefoxOS), des émulateurs (Android) et des appareils réels (iOS, Android, FirefoxOS) .
Pourquoi Appium ?
- Vous n’avez pas besoin de recompiler votre application ni de la modifier de quelque manière que ce soit, grâce à l’utilisation d’API d’automatisation standard sur toutes les plates-formes.
- Vous n’avez pas besoin de recompiler votre application ni de la modifier de quelque manière que ce soit, grâce à l’utilisation d’API d’automatisation standard sur toutes les plates-formes. Vous pouvez écrire des tests avec vos outils de développement préférés en utilisant n’importe quel langage compatible [WebDriver][2] tel que [Java][3], [Objective-C][4], JavaScript avec Node.js (en [promise, callback] [5] ou [generator][6] saveurs), PHP, [Python][7], [Ruby][8], [C#][9], Clojure ou Perl avec l’API Selenium WebDriver et un client spécifique au langage bibliothèques.
- Vous pouvez utiliser n’importe quel framework de test.
Investir dans le protocole WebDriver, c’est miser sur un protocole de test unique, gratuit et ouvert, devenu un standard de facto. Ne vous enfermez pas dans une pile propriétaire.
Si vous utilisez la bibliothèque UIAutomation d’Apple sans Appium, vous ne pouvez écrire des tests qu’en utilisant JavaScript et vous ne pouvez exécuter des tests que via l’application Instruments. De même, avec UiAutomator de Google, vous ne pouvez écrire des tests qu’en Java. Appium ouvre la possibilité d’une véritable automatisation mobile native multiplateforme.
Comment ça fonctionne
Appium pilote divers frameworks d’automatisation natifs et fournit une API basée sur le [protocole filaire WebDriver JSON][2] de Selenium.
Appium pilote la bibliothèque UIAutomation d’Apple pour les versions antérieures à iOS 10, qui est basée sur le travail de [Dan Cuellar] [10] sur iOS Auto. Avec l’obsolescence de la bibliothèque UIAutomation, toutes les versions iOS 10 et futures sont pilotées par le framework XCUITest.
La prise en charge d’Android utilise le framework UiAutomator pour les nouvelles plates-formes et [Selendroid] [11] pour les anciennes plates-formes Android.
La prise en charge de FirefoxOS exploite [Marionette][12], un pilote d’automatisation compatible avec WebDriver et utilisé pour automatiser les plates-formes basées sur Gecko.
[1] : https://github.com/appium/appium [2] : https://w3c.github.io/webdriver/webdriver-spec.html [3] : https://github.com/appium/java-client [4] : https://github.com/appium/selenium-objective-c [5] : https://github.com/admc/wd [6] : https://github.com/jlipps/yiewd [7] : https://github.com/appium/python-client [8] : https://github.com/appium/ruby_lib [9] : https://github.com/appium/appium-dotnet-driver [10] : http://github.com/penguinho [11] : http://github.com/DominikDary/selendroid [12] : https://developer.mozilla.org/en-US/docs/Marionette