Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was sind die Wissenspunkte des Appium-Frameworks?

Was sind die Wissenspunkte des Appium-Frameworks?

王林
王林nach vorne
2023-05-13 21:37:121059Durchsuche

1. Testobjekt

Appium ist ein Open-Source-Tool zur Automatisierung nativer, mobiler Web- und Hybridanwendungen auf iOS-, Android-Geräten und Windows-Desktopplattformen.

„Native Anwendungen“ beziehen sich auf Anwendungen, die mit iOS, Android oder Windows SDK geschrieben wurden.

„Mobile Webanwendung“ ist eine Anwendung, auf die über einen mobilen Browser zugegriffen wird (Appium unterstützt Safari, Chrome auf iOS und den integrierten Browser auf Android).

„Hybrid Apps“ verfügen über einen Wrapper namens „Webview“ – ein natives Steuerelement zur Interaktion mit Webinhalten.

Wichtig: Appium ist plattformübergreifend: Es ermöglicht Ihnen, dieselbe API zum Schreiben von Tests für mehrere Plattformen zu verwenden und dabei Code zwischen iOS-, Android- und Windows-Testsuiten wiederzuverwenden.

2. Unterstützte Plattformen und Sprachen

● Appium ist plattformübergreifend und unterstützt OSX-, Windows- und Linux-Systeme. Es ermöglicht Testern, denselben Satz von APIs zu verwenden, um automatisierte Testskripte auf verschiedenen Plattformen (iOS, Android) zu schreiben, was die Wiederverwendbarkeit von Code zwischen iOS- und Android-Testsuiten erheblich erhöht.

● Appium unterstützt mehrere Sprachen und verwendet C/ S-Designmodus, solange der Client http-Anfragen an den Server senden kann

3. Funktionsprinzip

APPIUM-Funktionsprinzip auf der IOS-Seite

Sehen wir uns das Funktionsprinzip des gesamten Prozesses von APPIUM auf der IOS-Seite an ein Bild:

Was sind die Wissenspunkte des Appium-Frameworks?

APPIUM Android-seitiges Funktionsprinzip

Lassen Sie uns einen Blick auf das gesamte Prozess-Funktionsprinzip von Android-seitigem APPIUM anhand eines Bildes werfen:

Was sind die Wissenspunkte des Appium-Frameworks?

Erklärung:

Der gesamte Pfeil zeigt auf einen abgeschlossenen Befehl Schleife

Webdriver-Skript erfordert automatisierte Tests. Das Personal schreibt selbst entsprechende Testskripte.

Es wird empfohlen, dass sich jeder über das JSON-Drahtprotokoll, Instrumente, UiAutomator

4 und Installationstools informiert. Testsprachen wie Python

Appium Client

● Appium-Server

● Wenn Sie eine virtuelle Maschine verwenden, müssen Sie diese installieren

5 (1) Android SDK (Software Development Kit) installieren. Bietet eine Android-API-Bibliothek und Entwicklungstools zum Erstellen, Testen und Debuggen von Anwendungen und kann als Software zum Entwickeln und Ausführen von Android-Anwendungen angesehen werden

2. Stellen Sie kleine Tools wie adb, aapt, uiautomatorview bereit

3 Ausrüstung, dieser Schritt darf nicht übersprungen werden Pass

(2) Appium-Server installieren

1. Laden Sie das Appium-Installationspaket herunter (AppiumForWindows.zip, appium .dmg)

3. Installieren und konfigurieren Sie Appium-Umgebungsvariablen

1. Installieren Sie zunächst eine Programmiersprache, z. B. Python-Sprache Verwenden Sie pip zum Installieren: pip install Appium-Python-Client

6. Anwendungen und Vorgänge

①Rufen Sie den Appium-Prozess auf

1. Konfigurieren Sie die Parameter des mobilen Geräts und teilen Sie dem Server mit, welches mobile Gerät ich aufrufen möchte

2. Ergreifen Sie die Steuerelemente der Anwendung auf dem Mobiltelefon und geben Sie die entsprechenden Steuerelemente zum Bedienen an.

3 Bedienen Sie die erfassten Steuerelemente, z. B. Klicken, Ausfüllen von Parametern usw. Der erste Schritt besteht darin, die Parameter des Mobiltelefongeräts zu konfigurieren

Die Grundkonfiguration der gewünschten Funktionen von Appium ist wie folgt:

#Android-Umgebung

Einheitentest importieren

aus Appium importieren Webtreiber

desired_caps = {}

desired_caps['platformName'] = 'Android'

desired_caps[ 'platformVersion'] = '4.2'

desired_caps['deviceName'] = 'Android Emulator'

desired_caps['app'] = PATH('../../../apps/selendroid-test-app. apk')

desired_caps['appPackage'] = Paket

desired_caps['appActivity'] = Aktivität

self.driver = webdriver.Remote('http://localhost:4723/wd/hub', wünschte_caps)

Erklärung allgemeiner Parameter:

● Gerätename: Geben Sie das Startgerät an, z. B. Android-Emulator, iPhone-Simulator usw.

● Automatisierungsname: Geben Sie die Automatisierungs-Engine an, der Standardwert ist Appium.

● Plattformname: Geben Sie die mobile Plattform an. Android oder iOS

● platformVersion: Geben Sie die Systemversion der Plattform an. Geben Sie beispielsweise die Android-Systemversion als 4.2 an

● appActivity: die Aktivität der zu testenden App. Beachten Sie, dass Sie bei nativen Apps ein „.“ hinzufügen müssen. appPackage: die Paketnamen-(Paket-)Informationen der zu testenden App

Zweiter Schritt: Ergreifen Sie die Steuerelemente der mobilen Anwendung

Sehen Sie sich die Steuerparameter der mobilen Anwendung über das im Android SDK integrierte Tool uiautomatorviewer.bat an (das Tool befindet sich in /tools/bin / Verzeichnis)

1. ID-Positionierung

Verwendung:

driver.find_element_by_id('com.android.contacts:id/drei')

2. Namenspositionierung

Verwendung :

el = self.driver.find_element_by_name('verpasster Anruf') el = self.driver.find_elements_by_name('verpasster Anruf')

3. Positionierung des Klassennamens

Was sind die Wissenspunkte des Appium-Frameworks?

Verwendung:

els = self.driver.find_element_by_class_name ('android.widget.ImageButton') els = self.driver.find_elements_by_class_name('android.widget.ImageButton')

4. Positionierung der Barrierefreiheits-ID

Was sind die Wissenspunkte des Appium-Frameworks?

Verwendung:

el = self.driver .find_element_by_accessibility_id('三') el = self.driver.find_elements_by_accessibility_id('三')

5. Android UIAutomator Positionierung

Was sind die Wissenspunkte des Appium-Frameworks?

Verwendungsmethode:

el=self.driver.find_element_by_android_uiautomator('new UiSelector(). Beschreibung(Sternsymbol ")')

els=self.driver.find_elements_by_android_uiautomator('new UiSelector().clickable(false)')

Schritt 3, bedienen Sie das Steuerelement

1.scroll

scroll(self, origin_el, destination_el):

Scrollen Sie vom Element „origin_el“ zum Element „destination_el“

Beispiel: drivers.scroll(el1, el2)

Verwendung: drivers.scroll(el1,el2)

2.tap

tap(self, positions , duration=None) :

Fingerklick simulieren (bis zu fünf Finger), Sie können die Haltezeit (Millisekunden) einstellen

Beispiel: drivers.tap([(100, 20), (100, 60), (100 , 100)], 500)

Verwendung: drivers.tap([(x,y),(x1,y1)],500)

3. swipe

swipe(self, start_x, start_y, end_x, end_y, duration=None):

Gleiten Sie von Punkt A nach Punkt B, die Gleitzeit beträgt Millisekunden

4. keyevent

keyevent(self, keycode, metastate=None):

Schlüsselcode senden (nur Android), der Schlüsselcode ist auf der Website zu finden

Verwendung: drivers.keyevent('4' )

5. press_keycode

press_keycode(self, keycode, metastate=None):

Send keycode (nur Android), der Keycode ist auf der Website zu finden

Verwendung: drivers.press_ keycode('4')

6. text

text(self):

Gibt den Textwert des Elements zurück

Verwendung: element.text

7.click

click(self):

Klicken Sie auf das Element

Verwendung: element.click( )

8.get_attribute

get_attribute(self, name):

Den zugehörigen Wert eines Elements abrufen

Verwendung: element.get_attribute("name")

9.size

size(self):

Holen Sie sich die Größe des Elements (Höhe und Breite)

Verwenden Sie drivers.element.size

10. page_source

page_source(self):

Rufen Sie die Quelle der aktuellen Seite ab

Verwendung: drivers.page_source

11 .quit

quit (self):

Beenden Sie das Skript und schließen Sie alle zugehörigen Fensterverbindungen

Beispiel: drivers.quit()

Beurteilung des Ausführungsergebnisses

Nachdem der Anwendungsfall ausgeführt wurde, müssen Sie beurteilen, ob er erfolgreich war , müssen Sie die erwarteten Ergebnisse vergleichen. Zum Vergleich können Sie im Allgemeinen feststellen, ob ein bestimmtes Flag angezeigt wird oder ob der Textwert eines bestimmten Elements dem erwarteten entspricht. Sie können auch einen Screenshot erstellen und ihn damit vergleichen ein Referenzbild usw.

Das obige ist der detaillierte Inhalt vonWas sind die Wissenspunkte des Appium-Frameworks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen