51 questions d'entrevue Appium (la plupart des débutants ne savent pas !)

Dans ce didacticiel, nous aborderons les 50 principales questions et réponses d'entretien Appium. Cela vous aidera à vous préparer à l'entretien et à le casser.

Nous diviserons les questions et réponses en trois parties :

Questions d'entretien de base avec Appium

Qu'est-ce que Appium?

Ans: Appium est un framework de test d'interface utilisateur mobile open source distribué gratuitement.

Quels types d’applications pouvons-nous automatiser avec Appium ?

Ans: Appium prend en charge les applications natives, les applications hybrides et les vues Web.

Énumérez les capacités d'Appium ?

Ans: Pour cette réponse, veuillez vous référer à ceci Lien.

Énumérez les prérequis pour utiliser Appium ?

Ans: Nous avons besoin ci-dessous des outils / jar / plugins pour travailler avec Appium

  1. JDK
  2. Studio ANDROÏDE
  3. IntelliJ/Eclipse
  4. Plugin ou dépendance TestNG si vous utilisez Maven
  5. Client Java Appium

Mentionner les inconvénients ou les limites d’Appium ?

Ans: Comme tout outil, Appium a également certaines limitations. Veuillez vérifier la réponse ici.

Quelles sont les applications natives ?

Ans: Veuillez vérifier la réponse de ici.

Que sont les applications hybrides?

Ans: Veuillez vérifier la réponse de ici

Qu'entendez-vous par M-Web ou Mobile Web Apps?

Ans: Veuillez vérifier la réponse de ici.

Quelles sont les langues prises en charge dans Appium ??

Ans: Appium permet aux clients d'interagir avec Appium en fonction des sessions. Les clients envoient des demandes de session sous forme de POST et transmettent les capacités souhaitées en tant que paramètre. Il y a plusieurs clients comme Java, JavaScript, PHP, Ruby, Python et C#.

Mentionnez les avantages ou les bénéfices de l’utilisation d’Appium.

Ans: La réponse est la même que pour la question 3. Vous trouverez la réponse ici

Liste des frameworks d'automatisation et de tests unitaires pris en charge par Appium?

Ans: Nous pouvons utiliser tous les types de frameworks de test avec Appium. Par exemple, unité java, java TestNG, NUnit etc. comme cadre de test unitaire. Le test Appium implémente le Pilote Web Selenium pour interagir avec les appareils Android ou iOS.

Mentionner les limites ou les inconvénients d'Appium ?

Ans: La réponse est la même que pour la question 5. Vous trouverez la réponse ici

Comment vérifier des éléments sur l'application iOS ?

Ans: Pour l'application iOS, nous pouvons vérifier les éléments à l'aide de l'inspecteur Appium. C'est un excellent outil pour identifier l'id des éléments, XPath, etc. Il peut également effectuer des actions utilisateur.

Qu'est-ce que l'inspecteur Appium ?

Ans: L'inspecteur Appium est utilisé pour inspecter DOM pour trouver les éléments à la fois sous Android et iOS. Nous pouvons enregistrer les actions que nous effectuons dans l'inspecteur. Il peut générer les scripts dans différents langages comme Java / JUnit, python etc. Pour un guide complet sur l'inspecteur Appium, veuillez cliquer ici

Comment inspecter l’élément DOM ou XPath pour application mobile ?

Ans: Vous pouvez trouver l'élément DOM ou XPath de deux manières. Soit vous pouvez utiliser «UIAuteviewer / UIAutomateviewer2», soit vous pouvez utiliser Appium inspector pour Android. Pour iOS, vous pouvez utiliser l'inspecteur Appium. Pour savoir comment inspecter l'élément, veuillez vous référer à ceci lien.

Quelle est la différence entre un simulateur et un émulateur ?

Ans: L'émulateur et le simulateur sont tous deux des appareils visuels. L'émulateur est un appareil virtuel pour Android et le simulateur est un appareil virtuel pour iOS lancé depuis Xcode.

Combien de temps faut-il à Appium pour automatiser un test ?

Ans: Cela dépend du scénario que vous testez. Si vous vérifiez plusieurs flux dans une seule méthode, cela prendra probablement plus de temps. Mais il est toujours préférable de rendre les cas de test précis et simples afin que si un problème survient entre votre exécution, vous puissiez avoir le mécanisme de récupération.

Quand devrions-nous utiliser Appium ?

Ans: Appium prend en charge les applications Web natives, mobiles et hybrides. Il prend en charge les tests multiplateformes. Si vous utilisez Android ou iOS et que vous souhaitez le vérifier, vous pouvez utiliser Appium.

Quelle est la meilleure approche lors du test sur des appareils réels ou des émulateurs / simulateurs?

Ans: Encore une fois, cela dépend de vos scénarios de test et des comportements des applications. S'il s'agit d'une application simple, vous pouvez tester à la fois sur des appareils réels ou sur un simulateur/émulateur. Mais si votre application a une logique complexe, il est toujours préférable d’opter pour de vrais appareils. En général, nous devrions les utiliser pour automatiser car c'est en fin de compte l'utilisateur final qui va utiliser ces applications. Les vrais appareils ont également des problèmes lors de la connexion prolongée à l’ordinateur. Les connexions ADB sont perdues et les périphériques non connectés s'afficheront, ce qui fera échouer vos cas de test.

Comment identifier les objets M-Web ou Mobile Browser à l'aide d'Appium ?

Ans: UserAgent peut être utilisé pour identifier des objets dans un navigateur M-Web ou mobile. Il vous permet de modifier le navigateur en utilisant un proxy mobile pour résoudre le problème.
Ou nous pouvons utiliser ChromeCasting pour l'identification d'objets dans un navigateur mobile. En utilisant Chromecast, la connexion de votre mobile au système peut être établie, puis vous pouvez inspecter des éléments sur mobile à partir du système de coulée de chrome.

Quelle approche adopter pour identifier l'objet unique dans Appium alors que le même nom de classe a plusieurs objets

Ans: driver.findElements(By.className) donne les listes d'éléments. Une fois que nous obtenons les listes, nous devons parcourir les index pour gérer les éléments de manière unique avec le même nom de classe.

Effectuer la comparaison entre Appium et Selenium ?

Ans: Comme nous le savons, Selenium est un outil open source. Il permet d'automatiser les applications Web. D'autre part, Appium est également un outil open source. Il est utilisé pour automatiser les applications mobiles (natives, hybrides, applications Web). Appium implémente Selenium Webdriver pour interagir avec les appareils.

Comment masquer le clavier dans Appium ?

comment cacher le clavier
Questions d'entretien avec Appium : Comment masquer le clavier

Quelles sont les capacités souhaitées requises pour Android?

capacités souhaitées pour Android
Questions d'entretien Appium : capacités souhaitées pour Android

Quelles sont les fonctionnalités souhaitées requises pour iOS ?

capacités souhaitées pour iOS
Questions d'entretien Appium : fonctionnalités souhaitées pour iOS

Questions d'entretiens intermédiaires avec Appium

Qu'est-ce que l'échange de données lorsque vous effectuez des tests sur des appareils mobiles?

Ans: L'échange de données dans Appium échange les données hébergées par des objets complexes qui sont en fait stockés dans différents composants d'une application basée sur une vue Web. Un exemple peut être l'objet window.

Quelles sont les erreurs auxquelles vous faites face dans Appium?

Ans:

  • «Les fonctionnalités souhaitées suivantes sont nécessaires mais non fournies: Device Name, platformNameError.»
  • "Impossible de trouver adb. Veuillez définir la variable d'environnement ANDROID_HOME avec le répertoire racine du SDK Android pathError. »
  • "Openqa.selenium.SessionNotCreatedException: Une nouvelle session n'a pas pu être crééeErreur."

Quelles sont les conditions pour écrire des tests Appium?

À passer un test Appium, nous devons suivre les points ci-dessous :

Client Appium : Il s'agit d'un client Appium écrit dans une langue différente qui se connecte au serveur Appium. Par exemple, le client Appium Java. 

Séance Appium : Appium interagit avec les appareils mobiles en fonction des sessions. Nous devons créer une session avec l'aide du client Appium. 

Capacités souhaitées : Les capacités souhaitées sont comme des paramètres que nous transmettons lors de la création de la session. Il aide le serveur Appium à identifier les appareils de manière unique.

Commande du pilote : La commande du pilote n'est rien d'autre que les actions utilisateur que nous effectuons dans les appareils. Par exemple, cliquez sur () ou sendKeys ().

Comment vérifier les éléments dans l'application native Android?

Ans: Vous pouvez utiliser «UIAuteviewer / UIAutomateviewer2», ou vous pouvez utiliser Appium inspector pour Android.

Comment faire défiler vers le bas dans une application?

comment faire défiler vers le bas
Questions d'entretien Appium: comment faire défiler vers le bas

Est-il possible de démarrer le serveur Appium par programmation?

Ans: Oui, nous pouvons lancer la session du serveur Appium par programmation. Comme Appium utilise node.js, nous pouvons créer un fichier .bat (pour Windows) ou un fichier / commande shell (Linux / Mac) pour démarrer le serveur Appium en passant le port d'amorçage, l'adresse IP du concentrateur et le port.

Comment faire glisser vers la gauche dans Appium?

comment balayer vers la gauche
Questions d'entretien avec Appium : comment balayer vers la gauche

Comment faire glisser vers la droite dans Appium?

comment glisser vers la droite
Questions d'entretien avec Appium : comment swiper vers la droite

Est-il possible d'exécuter un test parallèle / multithread dans Appium?

Ans: Oui, nous pouvons exécuter des tests sur l'environnement multithread, mais la condition est de s'assurer que le même serveur Appium ne doit pas être utilisé pour paralléliser les deux tests.

Mentionner l'approche de tests parallèles dans IOS à l'aide d'Appium ?

Ans: Appium a donné une option pour exécuter des tests iOS en parallèle à partir de la version 9 de Xcode et au-dessus. Nous devons respecter quelques conditions préalables.

  1. «UDID» doit être unique.
  2. « wdaLocalPort » doit être unique
  3. La racine dérivéeDataPath doit être unique pour chaque instance de pilote. 
  4. Sauce Labs offre la possibilité d'exécuter des tests iOS en parallèle. Nous devons télécharger notre test Appium dans les laboratoires de sauce. Après cela, il s'exécutera dans plusieurs tests iOS en parallèle.

Comment glisser vers le haut dans Appium ?

comment glisser vers le haut
Questions d'entretien avec Appium : comment faire glisser votre doigt vers le haut

Comment faire glisser votre doigt vers le bas dans Appium ?

comment glisser vers le bas
Questions d'entretien avec Appium : comment faire glisser votre doigt vers le bas

Questions d'entretiens chez Advanced Appium

Quelles sont les commandes Selenium qui fonctionnent avec Appium ?

Ans: Implémentations Appium Pilote Web Selenium. C'est pourquoi presque tous les WebDriver les commandes fonctionnent avec Appium. Quelques exemples sont mentionnés ci-dessous :

  • Cliquez sur() commande pour cliquer/appuyer sur le bouton/les liens.
  • sendKeys () commande pour envoyer la valeur.
  • Il prend en charge les commandes de scripts Java.
  • Gère les alertes.
  • Il peut basculer entre le contexte dans les vues Web.

Quels sont les avantages des appareils réels par rapport à l'émulateur / simulateur?

 Il y a quelques avantages à utiliser des appareils réels par rapport à l'émulateur / simulateur

  1. Nous pouvons vérifier les scénarios de batterie faible avec de vrais appareils.
  2. À quelle vitesse la batterie s’épuise pendant les tests.
  3. Nous pouvons vérifier les performances réelles des appareils et effectuer le profilage des applications.
  4. Nous pouvons vérifier les scénarios liés au Bluetooth.
  5. Nous pouvons vérifier les messages et les appels téléphoniques.

Quels sont les différents outils de débogage sous Android et iPhone?

Ans: Nous vérifions les journaux pour déboguer les problèmes se produisent dans les appareils. Pour Android, nous pouvons vérifier Moniteur, « adb logcat » ou « dumpsys » . Pour l'iPhone, nous pouvons utiliser Utilitaire de configuration iPhone.

Comment basculer entre les applications Android?

basculer entre les applications Android
Questions d'entretien avec Appium : Basculer entre les applications Android

Comment basculer entre les applications iOS?

comment basculer entre les applications iOS
Questions d'entretien avec Appium : Basculer entre les applications iOS

Comment trouver l’identifiant du bundle dans iOS ?

  • Copiez le fichier .ipa sur vos systèmes et modifiez l'extension en fichier .zip
  • Maintenant, décompressez le dossier et recherchez le fichier iTunesMetadata.plist
  • Une fois que vous obtenez le fichier, ouvrez-le dans un éditeur et recherchez logicielVersionBundleId. Il vous donnera l'identifiant du bundle.

Comment activer le wifi lorsque le téléphone est en mode Avion ?

ConnectionStateBuilder connection = new ConnectionStateBuilder(); driver.setConnection (connection.withWiFiEnabled() .build());));

Comment activer le clavier Unicode ?

Ans: Nous devons ajouter ci-dessous les capacités souhaitées :

wantedCapabilities.setCapability("unicodeKeyboard", true);

Comment copier-coller dans Appium?

Ans: Eh bien, aucune méthode directe n'est là pour le faire. Cependant, vous pouvez obtenir la valeur à l'aide des méthodes getText () ou getAttributes () et transmettre la même valeur à sendKeys ().

Comment gérer WebDriverAgentRunner-Runner.app a rencontré une erreur (Échec de l'installation ou du lancement du problème du lanceur de test?

rm '/usr/local/bin/carthage' 
brew install carthage 
brew link carthage

Il peut y avoir d'autres solutions possibles à ce problème. Vous pouvez référer ceci lien pour d'autres solutions.

Quand choisira-t-on les tests automatisés plutôt que les tests manuels ?

Ans: Les tests d'automatisation aideront pendant les tests de régression. Si vous avez des scénarios complexes ou des scénarios répétitifs, vous devez les automatiser.

Quand choisirez-vous les tests manuels plutôt que les tests automatisés ?

Lorsque vous avez de nouvelles applications, vous devez d'abord les tester manuellement, puis probablement les automatiser. Il existe des scénarios spécifiques où vous devez vérifier à partir des journaux / événements; nous devrions les vérifier manuellement. Scénarios où nous n'avons pas besoin de tests fréquents, nous ne devons pas les automatiser.

Comment fonctionne Appium ?

  • Nous avons couvert cette partie dans notre article initial. Veuillez voir la réponse ici.

Comment double-cliquer dans Appium ?

double-clic
Questions d'entretien avec Appium : Comment double-cliquer

Comment désinstaller l'application sur Android?

Désinstaller l'application
Questions d'entretien avec Appium : Comment désinstaller l'application

Comment effacer les données de l’application sous Android ?

Pack d'applications14
Questions d'entretien avec Appium : Comment effacer les données de l'application

Comment allez-vous gérer les cas d’échec dans Appium ?

Ans: Cela dépend des scénarios. Si des cas de test échouent, nous devons restaurer l'état de l'application afin d'exécuter les prochains cas de test. Vous pouvez le faire soit dans @AfterMethod, soit en utilisant des écouteurs.

Comment augmenter votre pourcentage de réussite dans Appium ?

Ans: L'automatisation de l'application à l'aide d'Appium rend parfois les scripts incohérents. Si vous exécutez les scénarios de test pendant des périodes plus longues ou peut être dû à des problèmes de réseau, vous pouvez faire face au problème d'incohérence. Pour rendre le script plus robuste, nous pouvons adopter l'approche suivante.

Y a-t-il des EventListeners dans Appium ?

Ans: oui, vous pouvez utiliser AppiumWebDriverEventListener. Vous devez implémenter cette interface.

Mise en situation :

classe publique AppiumListener implémente AppiumWebDriverEventListener {
   public void beforeChangeValueOf (WebElement webElement, WebDriver webDriver) {
   }
   public void afterChangeValueOf (WebElement webElement, WebDriver webDriver) {
   }
   public void beforeAlertAccept (WebDriver webDriver) {
   }
   public void afterAlertAccept (WebDriver webDriver) {
   }
   public void afterAlertDismiss (WebDriver webDriver) {
   }
   public void beforeAlertDismiss (WebDriver webDriver) {
   }
   public void beforeNavigateTo(String s, WebDriver webDriver) {
   }
   public void afterNavigateTo(String s, WebDriver webDriver) {
   }
   public void beforeNavigateBack (WebDriver webDriver) {
   }
   public void afterNavigateBack (WebDriver webDriver) {
   }
   public void beforeNavigateForward (WebDriver webDriver) {
   }
   public void afterNavigateForward (WebDriver webDriver) {
   }
   public void beforeNavigateRefresh (WebDriver webDriver) {
   }
   public void afterNavigateRefresh (WebDriver webDriver) {
   }
   public void beforeFindBy(Par par, WebElement webElement, WebDriver webDriver) {
   }
   public void afterFindBy (Par par, WebElement webElement, WebDriver webDriver) {
   }
   public void beforeClickOn (WebElement webElement, WebDriver webDriver) {
   }
   public void afterClickOn (WebElement webElement, WebDriver webDriver) {
   }
   public void beforeChangeValueOf (WebElement webElement, WebDriver webDriver, CharSequence[] charSequences) {
   }
   public void afterChangeValueOf (WebElement webElement, WebDriver webDriver, CharSequence[] charSequences) {
   }
   public void beforeScript (String s, WebDriver webDriver) {
   }
   public void afterScript (String s, WebDriver webDriver) {
   }
   public void beforeSwitchToWindow (String s, WebDriver webDriver) {
   }
   public void afterSwitchToWindow (String s, WebDriver webDriver) {
   }
   /**
    * fonctionnera s'il y a une exception trouvée dans les scripts
    * @param jetable
    * @param webDriver
    */
   public void onException (jetable, WebDriver webDriver) {
       System.out.println("Exécuter l'exception");
   }
   public  void beforeGetScreenshotAs(OutputType outputType) {
   }
   public  void afterGetScreenshotAs(OutputType outputType, X x) {
   }
   public void beforeGetText (WebElement webElement, WebDriver webDriver) {
   }
   public void afterGetText (WebElement webElement, WebDriver webDriver, String s) {
   }
}

Jusqu'à présent, nous avons couvert trois types de Questions d'entretien avec Appium. Ceux-ci sont Questions d'entretien basiques Appium, questions d'entretien Appium intermédiaire et questions d'entretien Niveau avancé d'Appium. Ce tutoriel vous aidera à vous préparer aux questions d'entrevue Appium et vous donnera la confiance nécessaire pour le résoudre. Pour en savoir plus sur Appium, vous pouvez se référer à lien.

Référence: Appium