So führen Sie die automatische Elementpositionierung von Appium Android durch

Machen Sie es sich zur Gewohnheit, gemeinsam zu schreiben! Dies ist der zweite Tag meiner Teilnahme an der „Nuggets Daily New Plan · April Update Challenge“, klicken Sie hier, um die Details der Veranstaltung anzuzeigen .

Unabhängig davon, welche Operation wir auf der App-Seite ausführen möchten, müssen wir zuerst das zu bearbeitende Element finden. Wenn Sie beispielsweise direkt auf eine Schaltfläche klicken möchten, müssen Sie die Schaltfläche zuerst finden. Wenn Sie etwas in das Eingabefeld eingeben möchten, müssen Sie zuerst das Eingabefeld finden.

Dieser Vorgang des Auffindens des zu manipulierenden Elements wird als Elementpositionierung bezeichnet.

Elementpositionierungsfunktion

In den meisten APP-Betriebsprozessen müssen Sie zuerst das Element finden, das bedient werden muss. Dieser Prozess wird als Elementpositionierung bezeichnet.

Die Funktion zur Elementpositionierung in Appium heißt find_element und übergibt zwei Parameter. Der erste Parameter ist der Weg, um das Element zu lokalisieren, und der zweite Parameter ist der Wert dieses Weges. Um beispielsweise ein Element anhand der ID zu lokalisieren, wird der erste Parameter mit id gefüllt und der zweite Parameter ist der Wert von ID.

el = driver.find_element('id', 'value')
复制代码

Das erhaltene el ist ein Elementobjekt, und das Abrufen der Attribute des Elements ist sehr einfach:

el.text  #获取元素文本
el.rect  #获取元素坐标
el.get_attribute('clickable')  #获取元素clickable属性
复制代码

Werkzeug zur Elementpositionierung: uiautomatorviewer

Also, wo bekommt man den Wert von id her? Es gibt ein Tools-Verzeichnis im SDK, dieses Verzeichnis hat ein Tool namens uiautomatorviewer, das die Attribute jedes Elements anzeigen kann, einschließlich natürlich des id-Attributs. Suchen Sie die entsprechende Datei direkt und klicken Sie darauf, um ihre Oberfläche anzuzeigen.

Um die Eigenschaften eines Elements anzuzeigen, bewegen Sie einfach die Maus über das Element und die Eigenschaften jedes Elements werden rechts angezeigt. Jedes Mal, wenn Sie auf das uiautomatorviewer-Tool klicken, wird es problematischer, oder? Erstellen Sie eine Verknüpfungszugriffsmethode und platzieren Sie sie auf unserem Desktop. Wenn Sie sie benötigen, klicken Sie einfach auf diese Verknüpfung auf dem Desktop, um sie zu öffnen.

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/33103996fae54e9e9622ca251aad8baa~tplv-k3u1fbpfcp-zoom-1.image

Elementpositionierung

Es gibt mehrere Möglichkeiten, die Hauptelemente des App-Automatisierungstests zu finden:

  • MobileBy.XPATH
  • MobileBy.ID
  • MobileBy.ACCESSIBILITY_ID
  • MobileBy.ANDROID_UIAUTOMATOR
  • HandyVon.CLASS_NAME

id und xpath sind die beiden am häufigsten verwendeten und gebräuchlichsten Syntaxmethoden. Versuchen Sie, id zum Auffinden zu verwenden. Wenn das Element kein id-Attribut hat oder die id nicht eindeutig ist, verwenden Sie die xpath-Elementpositionierungsmethode.

Xpath ist eine allgemeine Pfadpositionierungssprache, die sowohl auf Webseiten als auch auf App-Seiten verwendet werden kann. Sie kann Positionierungsausdrücke präziser machen, indem verschiedene Attributbedingungen kombiniert werden. Für die spezifische Verwendung von Xpath können Sie sich auf die Positionierungsmethode für XPath-Elemente beziehen .

Zweitens ist Android Uiautomator für die Verwendung in der Java-Sprache geeignet, und andere Sprachen sind nicht sehr bequem zu verwenden. Bei Bedarf können Sie zur Verwendung auf die offizielle Website verweisen.

Sie können das Element finden, indem Sie sich die Seiteneigenschaften ansehen und die kopierten Eigenschaften in die Funktion einfügen. Wenn beispielsweise die ID eines Elements angezeigt com.keda.say:id/usernamewird, lautet der entsprechende Code:

driver.find_element('id', 'com.keda.say:id/username')
复制代码

Es kann auch als Xpath-Ausdruck transkribiert werden:

driver.find_element('xpath', '//*[@id="com.keda.say:id/username"]')
复制代码

Elementattribut erhalten

Nachdem die Methode find_element das Element lokalisiert hat, erhält sie ein Elementobjekt, das verwendet werden kann, um die Attribute des Elements abzurufen oder die Methoden und Vorgangsereignisse der Attribute aufzurufen.

  • element.location_in_view
  • element.ort
  • element.rect
  • element.text
  • element.get_attribute('klickbar')

Zusammenfassen

Unabhängig von der Situation, solange Sie die find_element-Methode für die UI-Automatisierung verwenden, können Sie das Element durch Elementpositionierung abrufen und später Operationen an dem Element ausführen.

Ich bin Jiushan, danke für Ihre geduldige Lektüre, bis zum nächsten Mal.

Ich denke du magst

Origin juejin.im/post/7081881256807366670
Empfohlen
Rangfolge