Dernière mise à jour le 03 mai 2020 — Continuous Testing Expert
Continuous Testing

 

Chez Experitest, nous travaillons beaucoup avec Appium. Pendant des années, nous avons travaillé pour fournir intégration transparente dans Appium pour permettre aux testeurs de créer une automatisation Appium en quelques minutes sous notre Continuous Testing Les produits. Naturellement, cela nous a amenés à travailler avec et à embaucher de nombreux spécialistes Appium. Lors de nos entretiens avec des employés potentiels, nous nous retrouvons à poser un grand nombre des mêmes questions d'entretien sur Appium et ses capacités. Nous avons pensé que ce serait une bonne idée de préparer une session de questions-réponses sur Appium où nous pourrons répondre à certaines des questions d'entretien Appium les plus courantes. Lisez la suite et donnez-vous une longueur d'avance lors des entretiens pour des postes liés à Appium.

Téléchargez Appium Studio gratuitement dès maintenant

Alors sans plus tarder, jetez un œil ci-dessous aux plus courants :

Questions et réponses de l'entretien d'embauche chez Appium

1. Qu'est-ce qu'Appium ?

Appium est un framework d'automatisation de test open source. Nous utilisons Appium pour automatiser les applications mobiles sur les plateformes Android et iOS.

2. Types d'applications mobiles et une brève description de chacune d'elles ?

  1. Applications natives – Application développée pour une plate-forme spécifique.
  2. Applications hybrides – Applications qui ont à la fois des composants natifs et Web mais qui s'exécutent en tant qu'application.
  3. Application Web - Applications conçues pour s'exécuter sur les navigateurs (dans ce cas, les navigateurs mobiles).

3. Prérequis pour Appium.

  1. Installation de Android studio pour automatiser Android et XCUI pour l'automatisation iOS.
  2. NodeJS
  3. Runtimes de langage correspondants pour les clients Appium. Un exemple pour Java Appium Client JDK/JRE est un prérequis.

4. Expliquer l'architecture de base d'Appium.

Au cœur de l'outil Appium, ses composants clés sont,

  1. Appium Server - Un serveur HTTP qui écoute les clients basés sur Appium Http et utilise son pilote UI Automator pour traduire les commandes d'automatisation dans un langage que les appareils Android peuvent comprendre.
  2. Le framework Appium expose les clients Appium pour différents langages comme Java, Python. Les clients Appium répertorient toutes les langues prises en charge.
  3. Appium prend en charge différents pilotes pour automatiser diverses plates-formes finales. Le pilote UIAutomator2 est utilisé pour prendre en charge le système d'exploitation Android.

5. Avantages d'Appium

  1. Multiplateforme
  2. Appium expose une seule API pour automatiser les applications mobiles sur différentes plates-formes.
  3. Appium prend en charge de nombreux langages différents à l'aide desquels des tests d'automatisation peuvent être développés. Les API suivent des concepts généraux similaires pour l'automatisation.
  4. Appium est basé sur le protocole Web Driver de Selenium.
  5. Appium fournit une prise en charge de l'automatisation de bout en bout pour l'automatisation comme l'exécution du serveur Appium, les bibliothèques clientes Appium pour le développement et l'inspecteur d'interface utilisateur pour trouver l'emplacement des éléments de l'interface utilisateur.

6. Différence entre le Sélénium et l'Appium ?

Selenium est un outil open source qui permet l'automatisation des applications Web exécutées dans les navigateurs. Appium est utilisé pour automatiser les applications mobiles et les applications Web qui s'exécutent sur des appareils mobiles.

7. Inconvénients d'Appium ?

  1. Les commandes sont généralement traduites sur le périphérique réel, ce qui affecte les performances.
  2. Aucune prise en charge disponible pour les tests sur les appareils Android inférieurs à la version 4.2.

8. Étapes de base pour écrire le test Appium.

  1. Décidez du langage de programmation pris en charge par la bibliothèque cliente Appium.
  2. Décidez du cadre de test du langage de développement sous-jacent. Exemple : TestNG pour le langage Java.
  3. Importer la bibliothèque du client Appium
  4. Initialiser le pilote et transmettre les fonctionnalités souhaitées (propriétés de la session)
  5. Localisez les éléments de l'interface utilisateur dans l'application mobile. Utilisez l'inspecteur Appium pour obtenir l'emplacement à l'avance.
  6. Exécutez la commande d'automatisation sur l'élément.
  7. Quittez le pilote initialisé.

9. Quelles sont les capacités souhaitées ?

Les capacités souhaitées sont des clés et des valeurs encodées dans un objet JSON, envoyées par les clients Appium au serveur lorsqu'une nouvelle session d'automatisation est demandée. Ils indiquent aux pilotes Appium toutes sortes de choses importantes sur la façon dont vous voulez que votre test fonctionne.

Chaque client Appium construit des capacités d'une manière spécifique à la langue du client, mais en fin de compte, elles sont envoyées à Appium en tant qu'objets JSON.

10. Quelles sont les propriétés obligatoires (paires clé-valeur) dans Capacités souhaitées ?

  1. nom de l'appareil - ID d'identification de l'appareil mobile connecté.
  2. nom de la plateforme – Système d'exploitation pour l'appareil mobile.
  3. app - Chemin de l'application mobile à automatiser.

11. Qu'est-ce que l'Inspecteur Appium ?

Appium Inspector est un utilitaire prêt à l'emploi fourni par Appium Framework pour charger une application mobile et localiser n'importe quel élément de l'application mobile.

12. Que sont les localisateurs dans Appium et donnez quelques exemples de localisateurs ?

Les éléments des applications mobiles peuvent être identifiés par certaines propriétés. Bien qu'il existe certaines propriétés spécifiques à l'application, certaines sont de nature plus standard. Ces propriétés standard sont parfois appelées localisateurs.

Voici des exemples de localisateurs :

  1. ID
  2. prénom
  3. nom du cours
  4. ID d'accessibilité
  5. XPath

13. Qu'est-ce que XPATH et comment peut-il être utilisé pour localiser des éléments ?

En général, XPATH permet aux testeurs de naviguer dans la structure XML de n'importe quel document, et cela peut être utilisé sur les documents HTML et XML.

XPATH a une syntaxe spécifique pour atteindre n'importe quel élément. Il s'agit d'un identifiant basé sur une chaîne pour tout élément.

Appium fournit une fonction 'FindBy' où une chaîne XPATH peut être transmise et l'élément est renvoyé.

14. Quelle est la différence entre FindElement et FindElements et comment vérifier la disponibilité d'un élément ?

Find Element est utilisé pour localiser un élément spécifique dans un écran d'interface utilisateur d'application et Find Elements peut être utilisé pour localiser plusieurs éléments. Nous pouvons utiliser les fonctions findElements pour vérifier la disponibilité des éléments.

Booléen iselementpresent = driver.findElementsByName(“App”).size() != 0

Également très important, findElement lèvera une exception si aucun élément n'est trouvé là où findElements ne lèvera pas d'exception et renverra un tableau d'éléments de taille 0.

15. Qu'est-ce que l'attente explicite et implicite dans Appium ?

Il arrive parfois que certains éléments ne se chargent pas sur l'écran de l'application au moment du test. De telles situations nécessitent un délai ou attendent un test spécifique sur l'élément en question.

Appium fournit les éléments suivants :

  • Attente implicite – Délai ajouté pour un temps précis.
  • Attente explicite – Délai ajouté pour une condition spécifique.

16. À l'aide d'Appium, comment pouvons-nous tester l'élément qui n'est pas visible à un moment précis du test ?

Appium fournit des conditions d'attente explicites/attendues pour accomplir cette tâche.

Mise en situation :

WebDriverWait wait = new WebDriverWait(driver,20); attendre.until(ExpectedConditions.visibilityOfElementLocated("")

La deuxième option consiste à utiliser les findElements comme expliqué dans la question précédente.

17. Est-il possible d'effectuer une action Swipe avec Appium ? Si oui, comment ?

Oui c'est possible.

Appium fournit l'API TouchAction pour effectuer une action Swipe.

Mise en situation : TouchAction myAction = nouveau pilote TouchAction((MobileDriver)); Taille de dimension = driver.manage().window().getSize(); int startY = (entier) (taille.hauteur * 0.85); int endY = (entier) (taille.largeur * 0.05); int coordX = (int) (size.width * 0.50); monAction.press(coordX,startY).waitAction(3000).moveTo(coordX,endY).release().effectuer();

18. Énumérez quelques erreurs courantes lors de la création de tests Appium.

  1. Utilisation illimitée du chemin X – Surutilisation de XPATH comme localisateurs.
  2. Utilisation négligée des identifiants d'accessibilité : - La stratégie de localisation d'ID d'accessibilité est formulée pour lire un identifiant unique pour un élément d'interface utilisateur. Pour iOS et Android, obtenir un élément par son ID d'accessibilité est la meilleure méthode.
  3. Requête pour chaque élément de visibilité – Interroger la visibilité de chaque élément n'est pas une bonne idée car cela affecte les performances. Seuls les éléments importants et qui peuvent ne pas être visibles doivent être interrogés.

19. Énumérez quelques exceptions courantes dans Appium ?

  1. Exception SessionNotFound – Levé lorsque la connexion Appium est déconnectée ou que la session n'est pas établie.
  2. ElementNotFoundException – Levé lorsque vous essayez de trouver un élément et que l'élément n'est pas trouvé.
  3. WebDriverException – Levé lorsque le pilote n'existe pas.

20. Comment déboguer un test Appium ?

  1. Appium fournit les journaux du serveur, qui donnent des indices sur l'erreur.
  2. Les tests peuvent généralement être débogués à l'aide du langage/IDE sous-jacent.

Exemple : le débogage à distance Java peut être utilisé pour déboguer les tests.

Appium peut être un cadre d'automatisation de test complexe et difficile à apprendre et à pratiquer. C'est pourquoi nous posons autant de questions d'entretien Appium aux employés potentiels. Cet article est destiné à vous donner quelques réponses aux questions les plus courantes des entretiens avec Appium. Nous espérons que cela vous aidera à trouver et à réussir dans votre prochain rôle.

Guy Ariéli - CTO

Êtes-vous prêt à faire évoluer votre entreprise ?

Explorer

Quoi de neuf dans le monde de Digital.ai

22 avril 2024

Les biais dans la machine : les biais des données de formation et leur impact sur le code généré par les assistants de code IA

Explorez les biais dans les données de formation en IA ayant un impact sur la génération de code et apprenez des stratégies pour les atténuer pour un développement de l'IA et une innovation logicielle plus équitables.

En savoir plus
22 février 2024

Comment le futurisme façonne les tests cloud : une prévision

Découvrez l'avenir des tests cloud : approches stratégiques pour exploiter efficacement la technologie, améliorer la qualité des logiciels et garantir la réussite de l'entreprise.

En savoir plus
4 décembre 2023

La recherche de la qualité : tests logiciels automatisés en continu pour l'industrie automobile

De la création de tests basés sur l'IA aux systèmes d'auto-réparation, découvrez comment continuous testing et les développements innovants façonnent l’avenir des technologies connectées, safeet des véhicules fiables.

En savoir plus