Auswählen eines Elements in Appium / Android mit Python, das dieselbe Klasse und denselben Index eines anderen Elements in UIAutomatorViewer hat

8

Ich teste eine App und auf den meisten Bildschirmen sehe ich, dass es Elemente gibt, die dieselbe Klasse "android.widget.TextView" mit derselben Indexnummer "0" haben. Alle anderen Eigenschaften auch gleich, einzige Ausnahmen sind der "Text" und "gebunden".

Ich habe "Skip", "Next" und "Skip Next 3" als Texte auf dem Bildschirm, die das gleiche Attribut als das Attribut text und bounds haben. Ich muss wissen, wie ich appium auf den gewünschten Gegenstand klicken kann. Ich möchte auf "Next" klicken, wie kann ich das tun. Ich benutze Python für das Scripting.

    
nhrcpt 14.02.2018, 19:36
quelle

3 Antworten

2

Sie können nach allen übereinstimmenden Webelementen mit demselben Klassennamen suchen, die Ihnen eine Liste der übereinstimmenden Elemente zurückgeben. Dann führen Sie eine Schleife über die gefundenen Elemente und vergleichen deren Text, z. B .:

%Vor%     
Chuk Ultima 23.02.2018 13:22
quelle
2

Doing wie Chuk Ultima sagte, wird funktionieren, aber wenn Sie viel TextView haben, kann es eine Weile dauern.

Sie können verwenden:

%Vor%

Weitere Verwendungen finden Sie in Ссылка

    
tcardoso 23.02.2018 17:48
quelle
1

Nun, in meinem Fall habe ich schließlich das Problem gelöst, indem ich Knoten durchlaufen habe, wie ich xpath erstellt habe, um den Text (Zeitwert) von einem bestimmten Ort wie diesem zu bekommen:

%Vor%

Ich verstehe, dass dies ein langwieriger Prozess ist, aber vorerst ist dies die Lösung für mich.

    
nhrcpt 24.02.2018 03:53
quelle