Au cours des dernières semaines, j'utilisais Appium(python)
pour Android testing mais hier nous avons décidé de passer à Expresso(Java)
pour les tests automatisés. Il y a quelques raisons pour lesquelles nous faisons ce changement:
Nous voulons étendre nos tests automatisés et de nombreuses fonctionnalités ne sont pas présentes dans appium.
C'est l'un des derniers frameworks de test pour Android, et il a une compatibilité ascendante agréable.
Je lis depuis Espresso mais je ne trouve rien du tout génial, si je le compare avec Appium. Je suis un Python/R developer
alors peut-être qu'il y a quelques points que je ne peux pas comprendre. Quelqu'un voudrait-il m'aider à comprendre si le passage à ce nouveau cadre de test sera bon pour l'avenir? Il me manque une vue d'ensemble ici, et toute aide serait grandement appréciée.
Vous pouvez accéder à Espresso si vous vous en tenez uniquement à l'automatisation Android et que vous n'avez aucune idée d'automatiser iOS.
AFIKW, Espresso a besoin du code source de l'application pour l'automatiser.
L'avantage est qu'il est directement open source par Google.
Mais mon choix est d'aller avec Appium car c'est une grande communauté open source avec d'énormes améliorations en cours et facile à automatiser avec n'importe quel langage de programmation et inutile de dire qu'il prend en charge les deux Android et iOS.
Je conviens que Espresso peut être très efficace en ce qui concerne Android test uniquement. Par exemple, il ne peut exécuter que l'activité testée, ce qui est génial.
Pourtant, je m'en tiens à l'Appium car il a la même API pour AndroidDriver et iOSDriver. Habituellement Android sont accompagnées d'applications iOS, et si vous êtes responsable de l'automatisation de l'interface utilisateur, vous devez prendre en compte les coûts globaux.
Appium présente les avantages suivants par rapport à une solution spécifique à la plate-forme:
Le plus gros inconvénient d'Appium est la vitesse des scénarios de test plus longs et certaines difficultés pour localiser les éléments, mais c'est toujours mon choix.
Comme note latérale, je voudrais ajouter que vous ne devez pas oublier la pyramide de test qui fait référence à l'automatisation des tests. Veuillez maintenir l'équilibre entre les tests unitaires, les tests d'intégration et les tests d'interface utilisateur http://martinfowler.com/bliki/TestPyramid.html
La principale différence entre les deux est,
Le test Espresso est dans l'application et il connaît toutes les couches de l'application. Vous pouvez donc vous moquer de certaines couches d'application, plus comme un test en boîte blanche
Les tests Appium sont en boîte noire, les tests ne connaissent que la couche UI de l'application. Le principal avantage est pour les tests multiplateformes.