2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La série de tests automatisés python+appium touche à sa fin. Faisons un résumé dans ce blog.
Tout d'abord, je voudrais expliquer que les tests automatisés APP ne sont peut-être pas utilisés par de nombreuses entreprises, mais ils sont également requis par la plupart des informations de recrutement d'ingénieurs de tests automatisés et d'ingénieurs de tests senior, donc afin d'obtenir un meilleur traitement, nous avons toujours besoin passer du temps à le maîtriser. Après tout, je n'aurai pas non plus de problèmes avec l'argent.
Ensuite, résumons les idées pour les tests automatisés APP UI.
1. Sélection du langage de développement
Les langages de programmation couramment utilisés pour les tests automatisés incluent : Python, Java, Javascript, Ruby, C#, PHP, etc. Généralement, nous choisirons un langage de programmation que nous connaissons pour écrire des scripts automatisés, mais pour les enfants qui n'ont pratiquement aucune base de programmation (ou les enfants qui se concentrent sur les tests automatisés), il est recommandé d'apprendre à utiliser Python.
Par rapport à d'autres langages, Python présente les avantages suivants pour les tests automatisés :
Pour les débutants, Python a une syntaxe concise, est très lisible et facile à apprendre.
Il existe de puissantes bibliothèques tierces qui rendent les scripts plus efficaces.
Le framework de tests automatisés Pytest en Python est l'un des frameworks de tests les plus populaires actuellement
2. Sélection du cadre de test de l'interface utilisateur
Après avoir choisi un langage de développement, nous devons choisir un framework de test d'interface utilisateur. Actuellement, les cadres de test d'automatisation de l'interface utilisateur APP les plus courants ou les plus utilisés incluent Appium, Airtest, etc.
1. Appium
Open source
Le serveur Appium prend en charge l'exécution sous Windows, macOS et Linux
Prend en charge plusieurs langages de programmation courants, tels que Python, Java, Javascript, Ruby, etc.
Prise en charge des tests automatisés Android, iOS et H5 (UiAutomator intégré, framework UiAutomation)
La construction de l'environnement est plus compliquée
2. Test aérien
Développé par NetEase (document officiel), supporte uniquement le langage python
Fournit un IDE puissant intégrant les frameworks de test Airtest et Poco, très convivial pour les novices
Intégrez airtest, un framework de tests automatisés d'interface utilisateur basé sur la reconnaissance d'images, afin de pouvoir écrire des scripts automatisés même si vous ne comprenez pas le code.
Multiplateforme, peut effectuer des tests automatisés des logiciels d'application Windows, Android et iOS
Plus convivial pour les tests de jeux
Airtest et Poco sont essentiellement deux bibliothèques tierces pour Python. L'environnement de test n'est pas aussi compliqué qu'Appium.
3. Sélectionnez le cadre
Choisissez un cadre approprié en fonction de la situation réelle.
Vous pouvez donner la priorité à l’Airtest de NetEase (site officiel d’Airtest) dans les situations suivantes :
Aucune base de programmation
Tests de jeu
Le scénario de test est relativement simple (Appium est relativement volumineux)
Automatisation du mini programme Alipay (le blogueur utilise actuellement le framework Poco intégré à Airtest pour les tests automatisés du mini programme Alipay)
Il est recommandé de choisir Appium dans les situations suivantes :
Le scénario de test est relativement complexe (par exemple, des tests par lots de plusieurs téléphones mobiles sont requis)
Le langage de script de test n'est pas Python (Airtest ne prend actuellement en charge que Python)
3. Sélection du cadre de tests unitaires
Différent du cadre de test d'interface utilisateur mentionné ci-dessus, le cadre de tests unitaires est utilisé pour charger des cas de test, exécuter des cas de test, affirmer, produire des résultats de test, etc.
Différents langages de développement ont leurs propres frameworks de tests unitaires correspondants, tels que JUnit, TestNG, Robot, etc. pour Java, et unittest, pytest, etc. pour Python. Les blogueurs utilisent principalement Python pour les tests automatisés, nous expliquons donc ici uniquement le cadre de tests unitaires Python.
Le framework de tests unitaires grand public de Python :
unittest, le propre framework de tests unitaires de Python
pytest, développé sur la base de unittest, est facile à utiliser, contient des informations plus détaillées et de nombreux plug-ins.
robot framework, un framework de test basé sur des mots clés basé sur Python, avec une interface, des rapports et des journaux intégrés, des fonctions complètes, claires et esthétiques
Il est fortement recommandé d'utiliser ici pytest, qui est puissant et simple à utiliser. La documentation officielle est en anglais. Pour le chinois, veuillez vous référer au manuel d'utilisation de Pytest.
4. Configuration de l'environnement de test
1. Tester la sélection de l'ordinateur
Si possible, il est recommandé d'utiliser une machine Mac spécifiquement pour les tests d'automatisation de l'interface utilisateur, car l'automatisation de l'interface utilisateur de l'application iOS ne peut être effectuée que sur une machine Mac.
2. Testez la sélection du téléphone mobile
Lorsque vous démarrez le débogage des scripts de test, vous pouvez choisir un émulateur. Pour les émulateurs Android, vous pouvez choisir l'émulateur Gernymotion ou Yeshen.
Une fois le développement de l'ensemble du projet de test terminé, il est recommandé de passer à une machine réelle pour exécuter le script automatisé, qui sera plus proche du scénario d'utilisation réel de l'utilisateur.
3. Environnement linguistique de développement
Il est recommandé d'installer une version de python 3 ou supérieure. Le responsable a arrêté de mettre à jour et de maintenir la version python2.
4. Construction de l'environnement du cadre de test d'automatisation de l'interface utilisateur
Construire Appium dans un environnement Windows est un peu plus compliqué. Construire Appium sous Mac est un peu plus compliqué. J'écrirai un blog pour le partager plus tard.
Si vous choisissez le framework Airtest, veuillez vous référer au site officiel.
5. Écriture du scénario
1. Écrivez une démo de test
Afin de vérifier si l'ensemble de l'environnement de test est construit avec succès et si des exemples courants peuvent être exécutés, nous devons généralement écrire un simple script de test et l'exécuter. S'il réussit, cela signifie que l'ensemble de l'environnement est construit avec succès.
2. Déterminez la structure des répertoires
Il est recommandé d'utiliser le modèle de conception Page Object pour développer des projets de test d'automatisation de l'interface utilisateur APP.
3. Sélectionnez le rapport de test
Différents langages de développement et différents frameworks de tests unitaires peuvent utiliser différents rapports de test. En python, le framework unittest utilise HTMLTestRunner ou BSTestrunner pour générer des rapports de test. Le framework Pytest utilise pytest-html pour générer des rapports ou personnaliser des rapports de test via Allure.
Une fois les étapes ci-dessus terminées, continuez à ajouter des cas de test au projet de test.
6. Intégration Jenkins
Une fois que l'ensemble du projet de test d'automatisation de l'interface utilisateur de l'application a été écrit selon les étapes ci-dessus et qu'il s'est exécuté de manière stable pendant un certain temps, vous pouvez envisager d'intégrer Jenkins.
7. Résumé
Pour résumer, l’automatisation de l’APP UI peut être implémentée des manières suivantes :
1, python + appium + unittest + HTMLTestRunner
2, python + appium + pytest + pytest-html / allure
3, python + Airtest (AirtestIDE)
4, python + Poco + pytest + pytest-html / allure
Vous pouvez choisir en fonction de la situation réelle.
Enfin, je voudrais remercier tous ceux qui lisent attentivement mon article. La réciprocité est toujours nécessaire. Même si ce n'est pas une chose très précieuse, si vous pouvez l'utiliser, vous pouvez la prendre directement :
Ces informations devraient être l'entrepôt de préparation le plus complet et le plus complet pour les amis [des tests de logiciels] Cet entrepôt a également accompagné des dizaines de milliers d'ingénieurs de test dans le voyage le plus difficile. J'espère qu'il pourra également vous aider !