L'automatisation des tests des applications mobiles est apparue pratiquement en même temps que la diffusion massive des smartphones. Au départ, l'automatisation était complexe, car les outils différaient considérablement d'une plateforme à l'autre, ce qui posait des problèmes pour le maintien de tests universels.
Au début, l'automatisation des applications mobiles était réalisée avec des outils séparés pour chaque plateforme, par exemple, UI Automator pour Android et UIAutomation/XCUITest pour iOS. Cela conduisait à la duplication des scénarios de test et à des coûts supplémentaires.
Plus tard, des frameworks multiplateformes ont émergé, comme Appium, permettant d'utiliser un code commun pour les deux plateformes, et la diversité des bibliothèques et des méthodes d'intégration s'est élargie.
Les principales difficultés :
Pour l'automatisation des applications mobiles, il est recommandé d'utiliser des outils multiplateformes (Appium, Detox, etc.), et de construire les tests selon le principe de réutilisation du code en tenant compte des spécificités de la plateforme. Il est important d'accompagner les tests de faux positifs de qualité et d'une installation rapide des données de test.
Caractéristiques clés :
Peut-on exécuter des tests pour une application iOS sur une machine Windows avec Appium ?
Non, les tests automatisés complets des applications iOS ne sont possibles que sur macOS, car des outils comme XCUITest/Xcode ne reconnaissent que les systèmes Apple.
Pourquoi est-il déconseillé d'exécuter les tests Selenium/Webdriver directement pour les applications mobiles ?
Selenium/Webdriver est conçu pour les tests de navigateur. Pour les applications mobiles, des pilotes spécifiques sont utilisés (par exemple, Appium), qui simulent le fonctionnement au sein de l'application.
Peut-on se fier uniquement aux tests sur des émulateurs et ne pas utiliser de dispositifs réels ?
Non, les seuls émulateurs ne couvrent pas toutes les spécificités de la plateforme : les problèmes de performance, les différences de capteurs et de comportements des systèmes d'exploitation ne se manifestent que sur des dispositifs réels.
L'équipe de test automatisé écrivait des tests séparés pour Android via UI Automator et via XCUITest pour iOS, sans utiliser de liaison multiplateforme.
Avantages :
Inconvénients :
L'équipe a mis en œuvre Appium avec le modèle Page Object et a pu couvrir 90 % des tests avec une logique commune, laissant un comportement spécifique uniquement dans des méthodes distinctes.
Avantages :
Inconvénients :