51 Appium-sollicitatievragen (de meeste beginners weten het niet!)

In deze tutorial bespreken we de top 50 Appium interviewvragen en antwoorden. Het zal je helpen om je voor te bereiden op het interview en het te kraken.

We verdelen de vragen en antwoorden in drie delen:

Basic Appium interviewvragen

Wat is Appium?

Ans: Appium is een open-source vrij gedistribueerd testraamwerk voor mobiele UI.

Welke soorten applicaties kunnen we automatiseren met Appium?

Ans: Appium ondersteunt native applicatie, hybride applicaties en webviews.

Maak een lijst van de Appium-mogelijkheden?

Ans: Voor dit antwoord verwijzen wij u naar deze Link.

Maak een lijst van de vereisten om Appium te gebruiken?

Ans: We hebben onderstaande tools / jar / plug-ins nodig om met Appium te werken

  1. JDK
  2. ANDROID-studio
  3. IntelliJ / Eclipse
  4. TestNG-plug-in of afhankelijkheid als u Maven gebruikt
  5. Appium Java-client

Noem de nadelen of beperkingen van Appium?

Ans: Zoals elke tool heeft ook Appium bepaalde beperkingen. Controleer het antwoord hier.

Wat zijn de native apps?

Ans: Controleer het antwoord van hier.

Wat zijn hybride apps?

Ans: Controleer het antwoord van hier

Wat verstaat u onder M-Web of Mobile Web Apps?

Ans: Controleer het antwoord van hier.

Wat zijn de ondersteunde talen in Appium ??

Ans: Met Appium kunnen klanten communiceren met Appium op basis van sessies. Clients verzenden sessieverzoeken als een vorm van POST en geven de gewenste mogelijkheden door als parameter. Er zijn meerdere klanten zoals Java, JavaScript, PHP, Ruby, Python en C #.

Noem de voordelen of voordelen van het gebruik van Appium.

Ans: Het antwoord is hetzelfde als vraag 3. U vindt het antwoord hier

Maak een lijst van het door Appium ondersteunde automatiserings- en unit-testraamwerk?

Ans: We kunnen alle soorten testframeworks gebruiken met Appium. Bijvoorbeeld java-eenheid, java TestNG, NUnit etc als unit test framework . Appium test implementeert de Selenium webstuurprogramma om te communiceren met Android- of iOS-apparaten.

Noem de beperkingen of nadelen van Appium?

Ans: Het antwoord is hetzelfde als vraag 5. U vindt het antwoord hier

Hoe kun je elementen in de iOS-app verifiëren?

Ans: Voor de iOS-app kunnen we de elementen verifiëren met Appium Inspector. Het is een uitstekend hulpmiddel om de id, XPath enz. Van de elementen te identificeren. Het kan ook worden uitgevoerd om gebruikersacties uit te voeren.

Wat is de Appium-inspecteur?

Ans: Appium-inspecteur wordt gebruikt om DOM te inspecteren om de elementen te achterhalen, zowel in Android als iOS. De acties die we uitvoeren kunnen we vastleggen in de inspecteur. Het kan de scripts genereren in verschillende talen zoals Java / JUnit, python enz. Voor een complete gids over Appium Inspector, Klik hier alsjeblieft.

Hoe inspecteer ik het DOM-element of XPath voor mobiele applicatie?

Ans: U kunt het DOM-element of XPath op een aantal manieren vinden. U kunt ofwel “UIAuteviewer / UIAutomateviewer2” gebruiken, of u kunt Appium inspector voor Android gebruiken. Voor iOS kun je Appium Inspector gebruiken. Raadpleeg dit om te leren hoe u het element inspecteert link.

Wat is het verschil tussen simulator en emulator?

Ans: Emulator en simulator zijn beide visuele apparaten. De emulator is een virtueel apparaat voor Android en de simulator is een virtueel apparaat voor iOS dat is gestart vanuit Xcode.

Hoeveel tijd kost Appium om een ​​test te automatiseren?

Ans: Het hangt af van het scenario dat u test. Als u meerdere stromen in één methode verifieert, kost dit waarschijnlijk meer tijd. Maar het is altijd beter om de testcases nauwkeurig en duidelijk te maken, zodat u, als er een probleem optreedt tussen uw executie, over het herstelmechanisme beschikt.

Wanneer moeten we Appium gebruiken?

Ans: Appium ondersteunt native, mobiele webapp en hybride app. Het ondersteunt cross-platform testen. Als u op Android of iOS draait en u wilt dit verifiëren, kunt u Appium gebruiken.

Wat is de beste aanpak tijdens het testen op echte apparaten of emulators / simulators?

Ans: Nogmaals, dit is afhankelijk van uw testscenario's, toepassingsgedrag. Als het een eenvoudige applicatie is, kunt u zowel testen op echte apparaten als op simulator / emulator. Maar als uw applicatie een complexe logica heeft, is het altijd beter om voor echte apparaten te gaan. Over het algemeen zouden we deze moeten gebruiken om te automatiseren, omdat het uiteindelijk de eindgebruiker is die deze applicaties gaat gebruiken. Echte apparaten hebben ook problemen wanneer ze lange tijd verbinding maken met de computer. ADB-verbindingen gaan verloren en er worden apparaten weergegeven die niet zijn aangesloten, waardoor uw testcases niet slagen.

Hoe identificeer ik M-Web- of Mobile Browser-objecten met Appium?

Ans: UserAgent kan worden gebruikt om objecten in een M-Web of mobiele browser te identificeren. Het biedt u een manier om de browser te wijzigen door een mobiele proxy te gebruiken om het probleem op te lossen.
Of we kunnen ChromeCasting gebruiken voor objectidentificatie in een mobiele browser. Met behulp van Chromecast kan uw mobiel naar het systeem verbinding tot stand worden gebracht en vervolgens kunt u elementen op mobiel inspecteren vanuit het Chrome-casting-systeem.

Welke benadering moet worden gevolgd om het unieke object in Appium te identificeren terwijl dezelfde klassennaam meerdere objecten heeft

Ans: driver.findElements(By.className) geeft de lijsten met elementen. Zodra we de lijsten hebben, moeten we door de indexen lopen om de elementen op unieke wijze met dezelfde klassenaam te verwerken.

De vergelijking tussen Appium en Selenium uitvoeren?

Ans: Zoals we weten is Selenium een ​​open-sourcetool. Het helpt bij het automatiseren van webapplicaties. Aan de andere kant is Appium ook een open-source tool. Het wordt gebruikt om mobiele applicaties te automatiseren (native, hybride, web-apps). Appium implementeert Selenium Webdriver om met de apparaten te communiceren.

Hoe het toetsenbord in Appium te verbergen?

hoe toetsenbord te verbergen
Appium interviewvragen: Hoe toetsenbord te verbergen

Wat zijn de gewenste mogelijkheden die vereist zijn voor Android?

gewenste mogelijkheden voor Android
Appium interviewvragen: gewenste mogelijkheden voor Android

Wat zijn de vereiste gewenste mogelijkheden voor iOS?

gewenste mogelijkheden voor iOS
Appium interviewvragen: gewenste mogelijkheden voor iOS

Intermediate Appium Interview Vragen

Wat is gegevensuitwisseling als u tests uitvoert op mobiele apparaten?

Ans: Gegevensuitwisseling in Appium wisselt de gegevens uit die worden gehost door complexe objecten die feitelijk worden opgeslagen in verschillende componenten van een op webweergave gebaseerde app. Een voorbeeld hiervan kan het vensterobject zijn.

Met welke fouten wordt u geconfronteerd in Appium?

Ans:

  • "De volgende gewenste mogelijkheden zijn nodig, maar niet voorzien: Device Name, platformNameError."
  • 'Kon adb niet vinden. Stel de ANDROID_HOME omgevingsvariabele in met de Android SDK root directory pathError. "
  • "Openqa.selenium.SessionNotCreatedException: Er kan geen nieuwe sessie worden gemaaktError."

Wat zijn de voorwaarden om Appium-tests te schrijven?

Naar schrijf een Appium-test, moeten we de onderstaande punten volgen:

Appium klant: Dit is een Appium-client geschreven in een andere taal die verbinding maakt met de Appium-server. Bijvoorbeeld Appium Java-client. 

Appium-sessie: Appium communiceert met mobiele apparaten op basis van sessies. We moeten een sessie maken met behulp van de Appium-client. 

Gewenste mogelijkheden: Gewenste mogelijkheden zijn als parameters die we doorgeven tijdens het maken van de sessie. Het helpt de Appium-server om de apparaten uniek te identificeren.

Driver commando: Het stuurprogramma is niets anders dan de gebruikersacties die we op apparaten uitvoeren. Klik bijvoorbeeld op () of sendKeys ().

Hoe kunt u elementen in de native Android-applicatie verifiëren?

Ans: U kunt “UIAuteviewer / UIAutomateviewer2” gebruiken, of u kunt Appium inspector voor Android gebruiken.

Hoe naar beneden scrollen in een app?

hoe naar beneden te scrollen
Appium interviewvragen: hoe naar beneden scrollen

Is het mogelijk om de Appium-server programmatisch te starten?

Ans: Ja, we kunnen de Appium-serversessie programmatisch starten. Omdat Appium node.js gebruikt, kunnen we .bat-bestand (voor Windows) of shell-bestand / commando (Linux / Mac) maken om de Appium-server te starten door bootstrap-poort, hub-IP en poort door te geven.

Hoe naar links vegen in Appium?

hoe naar links te vegen
Appium interviewvragen: hoe naar links te vegen

Hoe naar rechts te vegen in Appium?

hoe je naar rechts veegt
Appium interviewvragen: hoe naar rechts te vegen

Is het mogelijk om een ​​parallelle / multithreaded test uit te voeren in Appium?

Ans: Ja, we kunnen tests uitvoeren op de multithread-omgeving, maar de voorwaarde is om ervoor te zorgen dat dezelfde Appium-server niet wordt gebruikt om de twee tests parallel te schakelen.

Noem de Parallel Testing-aanpak in IOS met Appium?

Ans: Appium heeft een optie gegeven om iOS-tests parallel uit te voeren vanaf Xcode versie 9 en hoger. Er zijn een aantal voorwaarden waaraan we moeten voldoen.

  1. "UDID" moet uniek zijn.
  2. "WdaLocalPort" moet uniek zijn
  3. afgeleidDataPath-root moet uniek zijn voor elke driverinstantie. 
  4. Sauce Labs biedt een optie om iOS-tests parallel uit te voeren. We moeten onze Appium-test uploaden naar sauslaboratoria. Daarna wordt het parallel in meerdere iOS-tests uitgevoerd.

Hoe omhoog vegen in Appium?

hoe omhoog te vegen
Appium-interviewvragen: hoe omhoog te vegen

Hoe omlaag vegen in Appium?

hoe naar beneden te vegen
Appium-interviewvragen: hoe omlaag vegen

Advanced Appium Interview Vragen

Wat zijn de seleniumopdrachten die werken met Appium?

Ans: Appium werktuigen Selenium webstuurprogramma. Dat is de reden waarom bijna alle WebDriver commando's werken met Appium. Hieronder worden enkele voorbeelden genoemd:

  • Klik() commando voor het klikken / tikken op de knop / links.
  • sendKeys () commando om de waarde te verzenden.
  • Het ondersteunt Java-scriptopdrachten.
  • Verwerkt waarschuwingen.
  • Het kan schakelen tussen de context in webweergaven.

Wat zijn de voordelen van echte apparaten ten opzichte van emulator / simulator?

 Er zijn een aantal voordelen bij het gebruik van echte apparaten ten opzichte van emulator / simulator

  1. We kunnen scenario's voor lage batterijspanning controleren met echte apparaten.
  2. Hoe snel de batterij tijdens het testen leeg raakt.
  3. We kunnen de daadwerkelijke prestaties van de apparaten controleren en app-profilering uitvoeren.
  4. We kunnen Bluetooth-gerelateerde scenario's controleren.
  5. We kunnen berichten en telefoontjes controleren.

Wat zijn de verschillende tools voor foutopsporing in Android en iPhone?

Ans: We verifiëren de logboeken om de problemen op de apparaten te debuggen. Voor Android kunnen we controleren Monitor, “adb logcat” of “dumpsys” . Voor de iPhone kunnen we gebruiken iPhone-configuratieprogramma.

Hoe kun je schakelen tussen Android-applicaties?

schakelen tussen Android-app
Appium-interviewvragen: schakelen tussen Android-app

Hoe kun je schakelen tussen iOS-applicaties?

hoe u kunt schakelen tussen iOS-apps
Appium-interviewvragen: schakelen tussen iOS-app

Hoe vind je bundel-ID in iOS?

  • Kopieer het .ipa-bestand naar uw systemen en verander de extensie in .zip-bestand
  • Pak nu de map uit en zoek naar het iTunesMetadata.plist-bestand
  • Zodra u het bestand heeft, opent u het in een editor en zoekt u naar softwareVersieBundleId. Het geeft je de bundel-ID.

Hoe kun je wifi inschakelen terwijl de telefoon in de vliegtuigmodus staat?

ConnectionStateBuilder-verbinding = nieuwe ConnectionStateBuilder(); driver.setConnection (verbinding.withWiFiEnabled() .build());));

Hoe kunt u het Unicode-toetsenbord inschakelen?

Ans: We moeten onderstaande gewenste mogelijkheden toevoegen:

gewensteCapabilities.setCapability ("unicodeKeyboard", true);

Hoe kun je kopiëren en plakken in Appium?

Ans: Nou, er is geen directe methode om het te doen. U kunt de waarde echter verkrijgen met behulp van de methoden getText () of getAttributes () en dezelfde waarde doorgeven aan sendKeys ().

Hoe om te gaan met WebDriverAgentRunner-Runner.app is een fout opgetreden (kan het probleem met de testrunner niet installeren of starten?

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

Er zijn mogelijk andere mogelijke oplossingen voor dit probleem. U kunt dit doorverwijzen link voor andere oplossingen.

Wanneer kiest u voor automatiseringstesten in plaats van handmatig testen?

Ans: Automatiseringstesten helpen bij regressietesten. Als u complexe scenario's of repetitieve scenario's heeft, moet u deze automatiseren.

Wanneer kiest u voor handmatig testen in plaats van automatiseringstesten?

Als u nieuwe toepassingen heeft, moet u deze eerst handmatig testen en waarschijnlijk vervolgens automatiseren. Er zijn specifieke scenario's waarin u moet verifiëren vanuit logboeken / gebeurtenissen; we moeten deze handmatig verifiëren. Scenario's waarbij we geen frequente tests nodig hebben, moeten we die niet automatiseren.

Hoe Appium werkt?

  • We hebben dit deel behandeld in onze eerste post. Zie het antwoord hier.

Hoe dubbelklikken in Appium?

dubbelklikken
Appium interviewvragen: Hoe dubbelklikken

Hoe verwijder ik de app in Android?

De app verwijderen
Appium interviewvragen: Hoe de app te verwijderen

Hoe de app-gegevens in Android wissen?

App-pakket14
Appium-interviewvragen: hoe de app-gegevens te wissen

Hoe ga je om met faalgevallen in Appium?

Ans: Het hangt af van de scenario's. Als testcases mislukken, moeten we de app-status herstellen om de volgende testcases uit te voeren. Je kunt het doen in @AfterMethod of met listeners.

Hoe maak je je paspercentage hoger in Appium?

Ans: Het automatiseren van de app met Appium maakt de scrips soms inconsistent. Als u de testcases voor langere tijd uitvoert of mogelijk te wijten is aan netwerkproblemen, kunt u het inconsistentieprobleem onder ogen zien. Om het script robuuster te maken, kunnen we de volgende aanpak volgen.

Zijn er EventListeners in Appium?

Ans: ja, u kunt AppiumWebDriverEventListener gebruiken. U moet deze interface implementeren.

Voorbeeld:

openbare klasse AppiumListener implementeert AppiumWebDriverEventListener {public void beforeChangeValueOf(WebElement webElement, WebDriver webDriver) {} public void afterChangeValueOf(WebElement webElement, WebDriver webDriver) {} public void beforeAlertAccept(WebDriver} public void) {AlertAccept(WebDriver} webDriver) 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 void afterNavigateBack(WebDriver webDriver) {} public void beforeNavigateForward(WebDriver webDriver) {} public void afterNavigateForward(WebDriver webDriver) {} public void beforeNavigateRefresh(WebDriver webDriver) {} public void afterNavigateRefresh(WebDriver webDriver) {by} public void , WebElement webElement, WebDriver webDriver) { }public void afterFindBy (By by, WebElement webElement, WebDriver webDriver) {} public void beforeClickOn (WebElement webElement, WebDriver webDriver) {} public void afterClickOn (WebElement webElement, WebDriver webDriver) {} public void beforeChangeValueOf,Sequen webDriver, [] charSequences) {} public void afterChangeValueOf (WebElement webElement, WebDriver webDriver, CharSequence [] charSequences) {} public void beforeScript (String s, WebDriver webDriver) {} public void afterScript (String s, WebDriver webDriver before Switch public void (String s, WebDriver webDriver) {} public void afterSwitchToWindow(String s, WebDriver webDriver) {} /** * werkt als er een uitzondering in de scripts wordt gevonden * @param throwable * @param webDriver */ public void onException( Throwable throwable, WebDriver webDriver) { System.out.println ("Execute Exception"); } openbaar void beforeGetScreenshotAs(OutputType outputType) { } openbaar void afterGetScreenshotAs(OutputType outputType, X x) {} public void beforeGetText(WebElement webElement, WebDriver webDriver) {} public void afterGetText(WebElement webElement, WebDriver webDriver, String s) {} }

Tot nu toe hebben we drie soorten behandeld Appium interviewvragen. Dit zijn Basic Appium interviewvragen, Intermediate Appium interviewvragen en Advanced Level of Appium interviewvragen. Deze tutorial helpt je om je voor te bereiden op Appium-interviewvragen en geeft je het vertrouwen om deze te kraken. Om meer te weten te komen over Appium, kan dat verwijs hiernaar link.

Referentie: appium