Top 18 des questions d'entretiens chez Appium & Réponses

Anonim

Télécharger le PDF

1) Expliquez ce qu'est Appium?

Appium est un framework de test d'interface utilisateur pour applications mobiles open source librement distribué.

2) Énumérez les capacités Appium?

Les capacités Appium sont

  • Tester le Web
  • Fournit multiplateforme pour l'automatisation mobile native et hybride
  • Prise en charge du protocole filaire JSON
  • Il ne nécessite pas de recompilation de l'application
  • Prise en charge du test d'automatisation sur un périphérique physique ainsi que sur un émulateur similaire
  • Il n'a aucune dépendance sur l'appareil mobile

3) Énumérez les prérequis pour utiliser APPIUM?

La condition préalable à l'utilisation d'APPIUM est

  • SDK ANDROID
  • JDK
  • TestNG
  • Éclipse
  • JAR du serveur Selenium
  • Bibliothèque de liaison de langage Webdriver
  • APPIUM pour Windows
  • Informations sur l'application APK sur Google Play
  • js

4) Énumérez les limites de l'utilisation d'Appium?

  • Appium ne prend pas en charge les tests de la version Android inférieure à 4.2
  • Prise en charge limitée des tests d'applications hybrides. Par exemple, il n'est pas possible de tester l'action de basculement de l'application de l'application Web vers native et vice-versa
  • Pas de support pour exécuter Appium Inspector sur Microsoft Windows

5) Expliquez comment trouver un élément DOM ou xPath dans une application mobile?

Pour trouver l'élément DOM, utilisez "UIAutomateviewer" pour trouver l'élément DOM pour l'application Android.

6) Expliquez le concept de design d'Appium?

  • Appium est un «serveur HTTP» écrit à l'aide de la plate-forme Node.js et pilote les sessions iOS et Android à l'aide du protocole filaire Webdriver JSON. Par conséquent, avant d'initialiser le serveur Appium, Node.js doit être pré-installé sur le système
  • Lorsque Appium est téléchargé et installé, un serveur est configuré sur notre machine qui expose une API REST
  • Il reçoit la demande de connexion et de commande du client et exécute cette commande sur les appareils mobiles (Android / iOS)
  • Il répond avec des réponses HTTP. Encore une fois, pour exécuter cette demande, il utilise les cadres d'automatisation des tests mobiles pour piloter l'interface utilisateur des applications. Cadre comme
    • Instruments Apple pour iOS (les instruments sont disponibles uniquement dans Xcode 3.0 ou version ultérieure avec OS X v10.5 et version ultérieure)
    • API Google UIAutomator pour Android niveau 16 ou supérieur
    • Selendroid pour l'API Android de niveau 15 ou moins

7) Quelle langue est prise en charge par Appium?

Appium prend en charge tous les langages prenant en charge les requêtes HTTP comme Java, JavaScript avec Node.js, Python, Ruby, PHP, Perl, etc.

8) Expliquez les avantages et les inconvénients d'Appium?

Avantages :

  • Pour le programmeur quelle que soit la plateforme, il automatise (Android ou iOS) toutes les complexités resteront sous un seul serveur Appium
  • Cela ouvre la porte à des tests mobiles multiplateformes, ce qui signifie que le même test fonctionnerait sur plusieurs plates-formes.
  • Appium ne nécessite pas de composants supplémentaires dans votre application pour la rendre plus conviviale pour l'automatisation
  • Il peut automatiser les applications mobiles hybrides, Web et natives

Inconvénients :

  • Exécuter des scripts sur plusieurs simulateurs iOS en même temps est possible avec Appium
  • Il utilise UIAutomator pour Android Automation qui ne prend en charge que la plate-forme Android SDK, API 16 ou supérieur et pour prendre en charge les API plus anciennes, ils ont utilisé une autre bibliothèque open source appelée Selendroid

9) Expliquez ce qu'est APPIUM INSPECTOR?

Semblable à l'outil d'enregistrement et de lecture Selenium IDE, Appium dispose d'un "Inspecteur" pour enregistrer et lire. Il enregistre et lit le comportement natif de l'application en inspectant DOM et génère les scripts de test dans la langue souhaitée. Cependant, Appium Inspector ne prend pas en charge Windows et utilise la visionneuse UIAutomator dans son option.

10) Mentionner quelles sont les exigences de base pour écrire des tests Appium?

Pour rédiger les tests Appium dont vous avez besoin,

  • Driver Client : Appium gère les applications mobiles comme s'il s'agissait d'un utilisateur. À l'aide d'une bibliothèque cliente, vous écrivez vos tests Appium qui encapsulent vos étapes de test et les envoient au serveur Appium via HTTP.
  • Session Appium : Vous devez d'abord initialiser une session, car un tel test Appium a lieu dans la session. Une fois l'automatisation terminée pour une session, elle peut être terminée et attendre une autre session
  • Capacités souhaitées : pour initialiser une session Appium, vous devez définir certains paramètres appelés «capacités souhaitées» comme PlatformName, PlatformVersion, Device Name, etc. Il spécifie le type d'automatisation que l'on requiert du serveur Appium.
  • Commandes du pilote : vous pouvez écrire vos étapes de test en utilisant un vocabulaire de commandes large et expressif.

11) Mentionner quelles sont les erreurs possibles que l'on pourrait rencontrer en utilisant Appium ?

Les erreurs possibles auxquelles on pourrait faire face dans Appium incluent

  • Erreur 1: les fonctionnalités souhaitées suivantes sont nécessaires mais non fournies: nom du périphérique, nom de la plate-forme
  • Erreur 2: impossible de trouver adb. Veuillez définir la variable d'environnement ANDROID_HOME avec le chemin du répertoire racine du SDK Android
  • Erreur 3: openqa.selenium.SessionNotCreatedException: une nouvelle session n'a pas pu être créée
  • Erreur 4: Comment trouver un élément DOM ou XPath dans une application mobile?

12) Avez-vous besoin d'une machine serveur pour exécuter des tests sur Appium ?

Non, vous n'avez pas besoin de machine serveur pour exécuter des tests sur Appium. Appium facilite une architecture à 2 niveaux où une machine de test se connecte à un serveur de test exécutant Appium et automatise le tout. Vous pouvez faire en sorte qu'Appium s'exécute sur la même machine que celle sur laquelle votre test s'exécute.

13) Est-il possible d'interagir avec mes applications en utilisant Javascript pendant que je teste avec Appium?

Oui, il est possible d'interagir avec l'application tout en utilisant Javascript. Lorsque les commandes s'exécutent sur Appium, le serveur enverra le script à votre application enveloppé dans une fonction anonyme à exécuter.

14) Mentionner quels sont les scénarios les plus difficiles à tester avec Appium?

Le scénario le plus difficile à tester avec Appium est l'échange de données.

15) Tout en utilisant Appium, puis-je exécuter mes tests dans un environnement multithread?

Oui, vous pouvez exécuter le test dans un environnement multithread, mais vous devez vous assurer que pas plus d'un test ne s'exécute en même temps sur le même serveur Appium.

16) Sous Android, avez-vous besoin du .apk d'une application pour automatiser à l'aide d'Appium ou vous avez également besoin d'une application dans mon espace de travail?

Sous Android, vous n'avez besoin que d'un fichier .apk pour automatiser à l'aide d'Appium.

17) Expliquez ce qu'est le maître de paquet Appium? Comment créer un package?

Le maître de package Appium est un ensemble d'outils permettant de gérer et de créer des packages Appium. Par exemple, pour créer un package, vous pouvez utiliser le code

# en utilisant es7 / babe1

Gulp create-package -n

# regular es5

Gulp create-package --- nobabe1 -n

Le package sera généré dans le out /

18) Expliquez comment les frameworks de test sont pris en charge par Appium?

Appium ne prend pas en charge les frameworks de test en tant que tels, il n'est pas nécessaire de les prendre en charge. Appium peut être utilisé avec tous les frameworks que vous souhaitez.