Selenium pour les tests d’applications mobiles

Tous les ingénieurs de développement et de test d’automatisation connaissent très bien “Selenium” qui est le cadre de test de facto pour les applications Web. Avec l’évolution du paysage mobile, Appium est le framework le plus utilisé pour tester des applications mobiles. Mais est-il possible d’utiliser le sélénium pour les tests d’applications mobiles? La réponse directe est “Pas vraiment”, mais il existe une approche longue et différente de cette réponse.

Appium est le framework de test d’applications mobiles le plus populaire qui peut être utilisé pour tester toutes les applications Web natives, hybrides et mobiles pour iOS et Android. Il est également utilisé pour les tests inter-navigateurs qui impliquent des tests sur de vrais appareils et de vrais navigateurs. Le fait est qu’Appium tire ses racines de Selenium et qu’il utilise JSONWireProtocol pour interagir avec des applications iOS et Android à l’aide du webdriver de Selenium.

Architecture Appium/Selenium

Dans une architecture typique, Appium est un serveur HTTP écrit en nœud.js qui produit et gère plusieurs sessions WebDriver. Appium démarre les tests sur l’appareil et reçoit les commandes du serveur principal d’Appium. Le serveur est principalement le même que le serveur Selenium qui reçoit les requêtes HTTP des bibliothèques clientes Selenium.

L’image ci-dessous est un exemple pour montrer comment les scripts de test peuvent s’exécuter sur notre plate-forme pCloudy. N’oubliez pas de regarder la vidéo sur “Comment exécuter des scripts Appium sur pCloudy” ici.

 Appium pCloudy

 Appium pCloudy

Maintenant que nous en savons un peu plus sur le cadre de test Selenium et Appium, comprenons le nouveau terme dans les tests d’applications Android – “Selendroid” qui est un cadre basé sur le sélénium pour les tests automatisés d’applications.

En d’autres termes, Selendroid est un framework d’automatisation de test qui peut interagir avec plusieurs périphériques simultanément et qui peut être testé sans aucune modification. Il est également connu sous le nom de “Selenium pour Android” pour tester les applications mobiles natives et hybrides et le web mobile.

Jetons un coup d’œil à certaines des fonctionnalités de Selendroid:

a) C’est une source ouverte et libre d’utilisation
b) Il prend en charge toutes les versions d’Android
c) Il prend en charge Selenium en tant que langage de script
d) Il prend en charge les langages compatibles webdriver, par exemple: Perl, Java, C #
e) Il peut fonctionner à la fois sur des émulateurs et des appareils réels
f) Il fonctionne sur toutes les applications natives, hybrides et basées sur le Web
g) Il est efficace lors de l’exécution d’applications natives et basées sur le cloud car il prend en charge Selenium grid
h) Il est très facile à implémenter.
i) Avec sa fonction appelée “Hotplugging”, il peut reconnaître automatiquement les nouveaux appareils.
j) Il dispose d’un inspecteur intégré pour simplifier le développement de cas de test.
k) Il peut prendre en charge diverses versions d’API Android d’Android API 10 à Android API 19.
l) Il peut entièrement prendre en charge les tests parallèles en intégrant un nœud dans la grille de sélénium.

Architecture Selendroid :
Selendroid est basé sur le framework d’instrumentation Android où les tests sont écrits à l’aide de l’API client Selenium Webdriver, également appelée client Selenium 2. Par conséquent, il peut être entièrement intégré aux cadres de sélénium existants. Il est également compatible avec le protocole JSON Wire.
Regardons l’architecture de Selendroid:

 Sélénium pour les Tests d'applications Mobiles

 Selenium pour les tests d'applications mobiles

Pour conclure, Selenium a ouvert la voie en tant que framework d’automatisation de test Web de facto et Appium fournit des API de haut niveau qui peuvent être rapidement adoptées par les développeurs de Selenium, ce qui contribue à simplifier les tests.

Leave a Reply