La difficulté des tests automatisés des applications mobiles
Les tests d'automatisation de l'interface utilisateur des applications mobiles ont longtemps été une difficulté. réside dans l'interface utilisateur "Change", les changements entraînent de nombreuses maintenances des cas d'utilisation de l'automatisation. Du point de vue des tests en couches, les tests automatisés doivent être effectués couche par couche. Le plus grand nombre de tests automatisés devrait être les tests unitaires, qui sont les plus faciles à mettre en œuvre et les plus faciles à détecter les problèmes à un stade précoce, suivis des tests au niveau de l'interface, qui sont automatisés dans le but de ; logique de vérification. En raison de la stabilité relative de l'interface, le coût des tests automatisés est relativement acceptable ; le coût d'automatisation le plus élevé est Tests automatisés au niveau de l'interface utilisateur. l'utilisateur, et les tests automatisés modérés, en particulier au niveau BVT, sont également très nécessaires.
Afin de nous en débarrasser, nous devons introduire des tests automatisés pour nous aider. Maintenant que j'ai le temps, je vais résumer les similitudes et les différences de plusieurs frameworks de tests automatisés couramment utilisés sous Android, afin que les testeurs puissent avoir une référence lors du choix d'un framework d'automatisation !
AndroidPlusieurs couramment utilisés Cadre de test automatiséComparaison#🎜 🎜#
1. Monkey est un outil de test fourni avec le SDK Android. Pendant le processus de test, il enverra un flux d'événements utilisateur pseudo-aléatoire au système, tel qu'une saisie par clé, une saisie sur écran tactile, une saisie gestuelle. , etc. L'application est testée sous contrainte et il existe également une sortie de journal. Cet outil ne peut en réalité effectuer que certains tests de résistance sur le programme. Étant donné que les événements et les données testés sont aléatoires et ne peuvent pas être personnalisés, il présente de grandes limites. Un autre outil de test fourni par le SDK Android est MonkeyRunner. À proprement parler, MonkeyRunner est en fait une boîte à outils API, plus puissante que Monkey et capable d'écrire des scripts de test pour personnaliser les données et les événements. Le script est écrit en Python, ce qui nécessite que les testeurs aient un niveau de compétence élevé, le coût d'apprentissage est donc relativement élevé, ce qui constitue son inconvénient. 3. Robotium est également un framework de test basé sur l'instrumentation. Il effectue principalement des tests automatisés pour un certain APK. L'APK peut avoir du code source ou pas de code source et est puissant. certaines compétences de test pour les testeurs. Les bases de Java, comprennent les composants de base d'Android et ne peuvent pas traverser les applications. 4. L'instrumentation est une des premières classes d'outils de tests automatisés Android fournies par Google. Bien que JUnit puisse également tester Android à cette époque, l'instrumentation vous permet d'effectuer des tests plus complexes sur des applications, même au niveau du framework. c'est la base de nombreux autres frameworks de test et peut charger les composants testés dans le même processus. Il propose de nombreux packages riches de haut niveau et les utilisateurs peuvent utiliser d'autres frameworks basés sur l'instrumentation pour éviter un développement secondaire excessif. Cependant, l'instrumentation ne prend pas en charge les applications croisées, ce qui fait que les frameworks basés sur l'instrumentation héritent de cette lacune. 5. UIAutomator est un framework de test fourni par Google. Il permet de tester l'interface utilisateur avancée des applications et des jeux Android natifs. Prend essentiellement en charge toutes les opérations d'événements Android. Par rapport à l'instrumentation, il ne nécessite pas que les testeurs comprennent les détails d'implémentation du code (vous pouvez utiliser UiAutomatorviewer pour capturer les propriétés de contrôle sur la page de l'application sans regarder le code source). Basée sur Java, la structure du code de test est simple, facile à écrire et peu coûteuse à apprendre. Elle est compilée une fois et tous les appareils ou simulateurs peuvent exécuter le test. par exemple : de nombreuses applications ont la possibilité de sélectionner des albums et d'ouvrir l'appareil photo pour prendre des photos (il s'agit de tests inter-applications). L'inconvénient de cet outil est qu'il ne prend en charge que le SDK 16 (Android 4.1) et supérieur, et n'est pas compatible avec les applications hybrides et les applications Web. 6. Espresso est le framework de tests automatisés open source de Google. Comparé à Robotium et UIAutomator, il se caractérise par une API à plus petite échelle, plus simple et plus précise, une écriture simple du code de test et un démarrage rapide et facile. Puisqu’il est basé sur l’instrumentation, il ne peut pas être utilisé entre différentes applications. 7. Selendroid : C'est un framework basé sur l'Instrumentation Il est entièrement compatible avec le protocole Webdriver. Selendroid prend en charge l'exécution sur des émulateurs et des appareils réels et peut être intégré en tant que nœud de grille pour la mise à l'échelle et les tests parallèles. Athrun est un framework/plateforme de tests mobiles produit par Taobao, qui prend en charge à la fois iOS et Android. La partie Android est également basée sur l'instrumentation, s'étendant sur la base de la classe ActivityInstrumentationTestCase2 d'origine d'Android pour fournir un ensemble complet d'API orientées objet. Appium est un outil de test automatisé open source multiplateforme et est considéré comme l'un des frameworks les plus puissants. Dans le contenu suivant, je présenterai ses fonctionnalités et ses utilisations en détail. Les avantages et les inconvénients deAppium
Ses avantages : ①Open source ;②Prend en charge l'application native, l'application Hybird, l'application Web ; ③Prend en charge Android, iOS, Firefox OS ④Le serveur est également multiplateforme ; , vous pouvez utiliser Mac OS #Prend en charge de nombreux langages pour écrire des scripts de test, notamment Java, JavaScript, PHP, python, C#, Ruby et d'autres langages courants;
Depuis que WebDriver a été étendu, il n'est pas nécessaire de réinventer la roue pour les tests automatisés. (WebDriver est un framework de test automatisé simple et rapide pour tester les WebApps, afin que les testeurs ayant une expérience dans les tests automatisés Web puissent commencer directement)
Les tests automatisés mobiles doivent être open source ;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!