Appium vs Espresso pour le test automatisé cadre
Pour les dernières semaines, j'ai été en utilisant Appium(python)
pour android test, mais hier, nous avons décidé de passer à Expresso(Java)
pour des tests automatisés. Il y a plusieurs raisons pour lesquelles nous faisons ce changement:
- Nous voulons faire évoluer notre test automatisé, et il y a beaucoup de fonctionnalités ne sont pas présentes dans appium.
- C'est l'un des derniers framework de test pour android, et a nice, la compatibilité descendante.
- Petite API et très facile à personnaliser.
J'ai lu pour Espresso mais je ne trouve pas quelque chose de grand à tous, Si je le compare avec Appium. Je suis un Python/R developer
alors peut-être il y a quelques points que je ne suis pas en mesure de comprendre. Quelqu'un pourrait-il m'aider à comprendre si le passage à ce nouveau framework de test sera bon pour l'avenir? Je suis absent de l'image plus grande ici, et toute aide serait grandement appréciée.
n'oubliez pas de partager votre expérience/impressions
OriginalL'auteur python | 2016-02-23
Vous devez vous connecter pour publier un commentaire.
C'est vrai, l'Espresso ne prend pas en charge les tests en dehors de l'application, mais il peut fonctionner en tandem avec UiAutomator. Donc, dans le même code de test, vous pouvez écrire à Expresso ainsi que UiAutomator et ainsi de test en tant que bien que l'extérieur de l'application. Référence: plus.google.com/+AndroidDevelopers/posts/WCWANrPkRxg
vous pouvez utiliser Espresso Intention de test Appareil photo et téléphone dialer activité en dehors de votre application.C'est ce que je voulais dire dans ma réponse.
L'un des points les plus importants à mon avis: Vous ne pouvez tester la qualité de bout en bout / sur le niveau d'intégration avec Appium. Ceux-ci tendent à être indeterministic, le rendu des tests plus ou moins inutile à mon avis. Les échecs des tests sont difficiles à étudier. En outre: Avec des processus complexes ou avec un nombre croissant de tests, ils n'ont tout simplement pas à l'échelle. La solution serait de tester le composant-sage (par exemple, par Activité) qui est beaucoup plus rapide, plus fiable, la traçabilité, adaptable (mochable), et ainsi de suite. Vous ne pouvez pas faire cela avec Appium.
OriginalL'auteur
Vous pouvez aller à l'Expresso si vous avez de s'en tenir uniquement à Android automatisation et n'ont aucune idée de l'automatisation de iOS.
AFIKW, Espresso besoin du code source de l'application, afin de l'automatiser.
Avantage, c'est directement open-source de google.
Mais mon go est d'aller avec Appium depuis sa un grand open source de la communauté avec d'énormes améliorations sur son chemin et facile à automatiser avec tout langage de programmation et inutile de dire qu'il supporte à la fois Android et iOS.
Pouvez-vous préciser ce que vous entendez par "d'énormes améliorations sur son chemin"? Je n'ai pas pu trouver beaucoup d'importance.
je pense que appium soutien très faible niveau api encore maintenant, son seul
5.0
, qui est quelque chose de pas bon.OriginalL'auteur
Je suis d'accord que l'Espresso peut être très efficace lorsqu'il s'agit Android de test uniquement. Par exemple, il peut s'exécuter que l'activité de tests, ce qui est excellent.
Encore, je m'en tiens à la Appium, car il a la même API pour les deux AndroidDriver et iOSDriver. Habituellement, les applications Android sont accompagnés par des applications iOS, et si vous êtes responsable de l'UI automation, vous devez prendre en compte l'ensemble des coûts.
Appium a les avantages suivants par rapport à la plate-forme solution:
Le plus grand inconvénient de Appium est la vitesse de plus de scénarios de test et quelques difficultés à trouver des éléments, mais c'est toujours mon choix.
Que la note de côté, je tiens à ajouter que vous ne devriez pas oublier le test de la pyramide qui se réfère à l'automatisation des tests. Veuillez garder l'équilibre entre les Tests Unitaires, tests d'Intégration et tests de l'INTERFACE utilisateur http://martinfowler.com/bliki/TestPyramid.html
OriginalL'auteur
La principale différence entre les deux est,
Espresso test est à l'intérieur de l'application et il est conscient de toutes les couches de l'application. Donc, vous pouvez vous moquer de certaines couches de l'application, de plus en plus comme un blanc-boîte de test
Appium tests en boîte noire, les tests ne connais que la couche d'INTERFACE utilisateur de l'application. Le principal avantage est pour la croix-plate-forme de test.
OriginalL'auteur