Zuletzt aktualisiert am 03. Mai 2020 – Continuous Testing Experten
Continuous Testing

 

Wir bei Experitest arbeiten viel mit Appium. Seit Jahren arbeiten wir an der Bereitstellung nahtlose Integration in Appium um Testern die Erstellung einer Appium-Automatisierung in wenigen Minuten zu ermöglichen Continuous Testing PRODUKTE. Dies hat natürlich dazu geführt, dass wir mit vielen Appium-Spezialisten zusammenarbeiten und diese einstellen. In unseren Interviews mit potenziellen Mitarbeitern stellen wir viele der gleichen Interviewfragen zu Appium und seinen Fähigkeiten. Wir dachten, dass es eine gute Idee wäre, eine Frage-und-Antwort-Runde zu Appium vorzubereiten, in der wir vorab einige der häufigsten Fragen im Vorstellungsgespräch zu Appium beantworten können. Lesen Sie weiter und verschaffen Sie sich einen Vorsprung bei Vorstellungsgesprächen für Stellen im Zusammenhang mit Appium.

Laden Sie Appium Studio jetzt kostenlos herunter

Schauen Sie sich also ohne weitere Umschweife unten die häufigsten an:

Fragen und Antworten zum Appium-Interview

1. Was ist Appium?

Appium ist ein Open-Source-Framework zur Testautomatisierung. Wir verwenden Appium, um mobile Apps auf Android- und iOS-Plattformen zu automatisieren.

2. Arten mobiler Anwendungen und eine kurze Beschreibung des Produkts jeder davon?

  1. Native Apps – Anwendung, die für eine bestimmte Plattform entwickelt wurde.
  2. Hybrid-Apps – Anwendungen, die sowohl native als auch Web-Komponenten haben, aber als Anwendung ausgeführt werden.
  3. Internetanwendung - Anwendungen, die für die Ausführung in Browsern entwickelt wurden (in diesem Fall mobile Browser).

3. Voraussetzungen für Appium.

  1. Installation Android Studio zur Automatisierung von Android und XCUI für die iOS-Automatisierung.
  2. KnotenJS
  3. Entsprechende Sprachlaufzeiten für Appium-Clients. Ein Beispiel für Java Appium Client JDK/JRE ist Voraussetzung.

4. Erklären Sie die grundlegende Architektur von Appium.

Die wichtigsten Komponenten des Appium-Tools sind:

  1. Appium Server – Ein HTTP-Server, der auf die Appium Http-basierten Clients lauscht und seinen UI Automator-Treiber verwendet, um Automatisierungsbefehle in eine Sprache zu übersetzen, die Android-Geräte verstehen können.
  2. Das Appium-Framework stellt Appium-Clients für verschiedene Sprachen wie Java und Python bereit. Die Appium-Clients listen alle unterstützten Sprachen auf.
  3. Appium unterstützt verschiedene Treiber zur Automatisierung verschiedener Endplattformen. Der UIAutomator2-Treiber wird zur Unterstützung des Android-Betriebssystems verwendet.

5. Vorteile von Appium

  1. Cross-Platform
  2. Appium stellt eine einzige API zur Automatisierung mobiler Anwendungen auf verschiedenen Plattformen bereit.
  3. Appium unterstützt viele verschiedene Sprachen, mit denen Automatisierungstests entwickelt werden können. APIs folgen ähnlichen Gesamtkonzepten für die Automatisierung.
  4. Appium basiert auf dem Web Driver-Protokoll von Selenium.
  5. Appium bietet End-to-End-Automatisierungsunterstützung für Automatisierungen wie Appium Server Runtime, Appium Client-Bibliotheken für die Entwicklung und UI Inspector, um den Speicherort von UI-Elementen zu finden.

6. Unterschied zwischen Selen und Appium?

Selenium ist ein Open-Source-Tool, das die Automatisierung von Webanwendungen ermöglicht, die in Browsern ausgeführt werden. Appium wird zur Automatisierung mobiler Anwendungen und Webanwendungen verwendet, die auf mobilen Geräten ausgeführt werden.

7. Nachteile von Appium?

  1. Die Befehle werden im Allgemeinen auf das tatsächliche Gerät übersetzt, was sich auf die Leistung auswirkt.
  2. Für Tests auf Android-Geräten unter Version 4.2 ist keine Unterstützung verfügbar.

8. Grundlegende Schritte zum Schreiben des Appium-Tests.

  1. Entscheiden Sie sich für die Programmiersprache, die die Appium Client-Bibliothek unterstützt.
  2. Entscheiden Sie sich für das Test-Framework der zugrunde liegenden Entwicklungssprache. Beispiel: TestNG für die Java-Sprache.
  3. Importieren Sie die Appium-Client-Bibliothek
  4. Initialisieren Sie den Treiber und übergeben Sie die gewünschten Funktionen (Sitzungseigenschaften).
  5. Suchen Sie die UI-Elemente in der mobilen Anwendung. Verwenden Sie den Appium Inspector, um den Standort im Voraus zu ermitteln.
  6. Führen Sie den Automatisierungsbefehl für das Element aus.
  7. Beenden Sie den initialisierten Treiber.

9. Was sind die gewünschten Fähigkeiten?

Gewünschte Funktionen sind in einem JSON-Objekt codierte Schlüssel und Werte, die von Appium-Clients an den Server gesendet werden, wenn eine neue Automatisierungssitzung angefordert wird. Sie erzählen den Appium-Treibern alle möglichen wichtigen Dinge darüber, wie Ihr Test funktionieren soll.

Jeder Appium-Client erstellt Funktionen auf eine für die Sprache des Clients spezifische Weise, aber am Ende des Tages werden sie als JSON-Objekte an Appium gesendet.

10. Was sind die obligatorischen Eigenschaften (Schlüssel-Wert-Paare) in Desired Capabilities?

  1. Gerätename - Identifikations-ID für das verbundene Mobilgerät.
  2. Plattformname – Betriebssystem für das Mobilgerät.
  3. App - Pfad der zu automatisierenden mobilen Anwendung.

11. Was ist der Appium Inspector?

Appium Inspector ist ein sofort einsatzbereites Dienstprogramm, das von Appium Framework bereitgestellt wird, um eine mobile Anwendung zu laden und jedes Element der mobilen Anwendung zu finden.

12. Was sind Locators in Appium und nennen Sie einige Beispiele für Locators?

Elemente der mobilen Anwendungen können anhand einiger Eigenschaften identifiziert werden. Obwohl es einige Eigenschaften gibt, die anwendungsspezifisch sind, gibt es auch einige, die eher standardmäßiger Natur sind. Diese Standardeigenschaften werden manchmal als Locators bezeichnet.

Im Folgenden finden Sie Beispiele für Locators:

  1. ID
  2. Name
  3. Klassenname
  4. accessibilityID
  5. XPath

13. Was ist XPATH und wie kann es zum Auffinden von Elementen verwendet werden?

Im Allgemeinen ermöglicht XPATH Testern die Navigation durch die XML-Struktur eines beliebigen Dokuments und kann sowohl für HTML- als auch für XML-Dokumente verwendet werden.

XPATH verfügt über eine spezielle Syntax, um jedes Element zu erreichen. Dies ist ein String-basierter Bezeichner für jedes Element.

Appium bietet eine „FindBy“-Funktion, bei der eine XPATH-Zeichenfolge übergeben werden kann und das Element zurückgegeben wird.

14. Was ist der Unterschied zwischen FindElement und FindElements und wie können wir die Verfügbarkeit eines Elements überprüfen?

„Element suchen“ wird verwendet, um ein bestimmtes Element auf dem Benutzeroberflächenbildschirm einer Anwendung zu finden, und „Elemente suchen“ kann zum Suchen mehrerer Elemente verwendet werden. Wir können findElements-Funktionen verwenden, um die Verfügbarkeit von Elementen zu überprüfen.

Boolean iselementpresent = drivers.findElementsByName(“App”).size() != 0

Ebenfalls sehr wichtig ist, dass findElement eine Ausnahme auslöst, wenn keine Elemente gefunden werden, während findElements keine Ausnahme auslöst und ein Array von Elementen der Größe 0 zurückgibt.

15. Was sind explizite und implizite Wartezeiten in Appium?

Es kann vorkommen, dass einige Elemente zum Zeitpunkt des Tests nicht auf dem Anwendungsbildschirm geladen werden. Situationen wie diese erfordern eine Verzögerung oder das Warten auf einen bestimmten Test des betreffenden Elements.

Appium bietet Folgendes:

  • Implizites Warten – Verzögerung für eine bestimmte Zeit hinzugefügt.
  • Explizites Warten – Für eine bestimmte Bedingung hinzugefügte Verzögerung.

16. Wie können wir mit Appium das Element testen, das zu einem bestimmten Testzeitpunkt nicht sichtbar ist?

Appium bietet explizite Warte-/erwartete Bedingungen zum Ausführen dieser Aufgabe.

Beispiel:

WebDriverWait wait = new WebDriverWait(driver,20); wait.until(ExpectedConditions.visibilityOfElementLocated(“”)

Die zweite Möglichkeit besteht darin, findElements wie in der vorherigen Frage erläutert zu verwenden.

17. Ist es möglich, mit Appium eine Swipe-Aktion auszuführen? Wenn ja, wie?

Ja, es ist möglich.

Appium stellt die TouchAction-API zum Ausführen von Swipe-Aktionen bereit.

Beispiel: TouchAction myAction = neuer TouchAction((MobileDriver)driver); Dimensionsgröße = drivers.manage().window().getSize(); int startY = (int) (size.height * 0.85); int endY = (int) (size.width * 0.05); int coordX = (int) (size.width * 0.50); myAction.press(coordX,startY).waitAction(3000).moveTo(coordX,endY).release().ausführen();

18. Listen Sie einige häufige Fehler beim Verfassen von Appium-Tests auf.

  1. Uneingeschränkte X-Pfad-Nutzung – Übermäßige Verwendung von XPATH als Locators.
  2. Vernachlässigte Nutzung von Barrierefreiheits-IDs: – Die Accessibility-ID-Locator-Strategie ist so formuliert, dass sie einen eindeutigen Bezeichner für ein UI-Element liest. Sowohl für iOS als auch für Android ist es die beste Methode, ein Element anhand der Barrierefreiheits-ID abzurufen.
  3. Abfrage für die Sichtbarkeit jedes Elements – Es ist keine gute Idee, die Sichtbarkeit jedes Elements abzufragen, da es sich auf die Leistung auswirkt. Es sollten nur wichtige Elemente und Elemente abgefragt werden, die möglicherweise nicht sichtbar sind.

19. Einige häufige Ausnahmen in Appium auflisten?

  1. SessionNotFoundException – Wird ausgelöst, wenn die Appium-Verbindung getrennt wird oder die Sitzung nicht hergestellt wird.
  2. ElementNotFoundException – Wird ausgelöst, wenn Sie versuchen, ein Element zu finden und das Element dann nicht gefunden wird.
  3. WebDriverException – Wird ausgelöst, wenn der Treiber nicht vorhanden ist.

20. Wie können wir einen Appium-Test debuggen?

  1. Appium stellt die Serverprotokolle bereit, die einige Hinweise auf den Fehler geben.
  2. Die Tests können im Allgemeinen mit der zugrunde liegenden Sprache/IDE debuggt werden.

Beispiel: Java Remote Debugging kann zum Debuggen der Tests verwendet werden.

Appium kann ein komplexes und schwierig zu erlernendes und zu übendes Testautomatisierungs-Framework sein. Aus diesem Grund stellen wir potenziellen Mitarbeitern so viele Fragen zu Appium-Interviews. Dieser Artikel soll Ihnen einige Antworten auf die häufigsten Fragen im Vorstellungsgespräch bei Appium geben. Wir hoffen, dass es Ihnen hilft, Ihre nächste Rolle zu finden und darin erfolgreich zu sein.

Guy Arieli - CTO

Sind Sie bereit, Ihr Unternehmen zu skalieren?

Entdecken

Was gibt es Neues in der Welt von Digital.ai

22. April 2024

Die Verzerrung in der Maschine: Verzerrungen von Trainingsdaten und ihre Auswirkungen auf den generierten Code von KI-Code-Assistenten

Entdecken Sie Vorurteile in KI-Trainingsdaten, die sich auf die Codegenerierung auswirken, und erlernen Sie Strategien, um diese zu mildern, um eine gerechtere KI-Entwicklung und Softwareinnovation zu ermöglichen.

Mehr erfahren
22. Februar 2024

Wie der Futurismus Cloud-Tests prägt: Eine Prognose

Erschließen Sie die Zukunft des Cloud-Testens: strategische Ansätze, um Technologie effektiv zu nutzen, die Softwarequalität zu verbessern und den Geschäftserfolg sicherzustellen.

Mehr erfahren
4. Dezember 2023

Das Streben nach Qualität: Kontinuierliche automatisierte Softwaretests für die Automobilindustrie

Entdecken Sie, wie es geht, von der KI-gestützten Testerstellung bis hin zu selbstheilenden Systemen continuous testing und innovative Entwicklungen prägen die Zukunft vernetzter, safeund zuverlässige Fahrzeuge.

Mehr erfahren