Ich versuche Automatisierung auf iOS-Gerät durchführen. In einem Szenario habe ich UIACollectionCell, was eine Listenansicht ist. Gibt es sowieso Appium + Java, kann ich bei jedem Test eine zufällige Zelle auswählen.Wählen Sie Random UIACollectionCell mit Appium
0
A
Antwort
1
So etwas sollte es tun:
List<MobileElement> elements = driver.findElements(By.xpath("//UIACollectionView[1]/UIACollectionCell"));
Random rnd = new Random();
int rndInt = rnd.nextInt(elements.size());
elements.get(rndInt).click();
Liste der Elemente mit findElement s() mit der Abfrage erstellt, die die erste UIACollectionView entspricht (mit dem Index angegeben [1]) und alle die UIACollectionCell-Elemente darin. Dies sollte Ihnen eine Liste aller UIACollectionCell-Elemente innerhalb der angegebenen UIACollectionView geben.
SieList<MobileElement> elements = driver.findElements(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIACollectionView[1]/UIACollectionCell"));
danken, wird diese –
versuchen Ich erhalte java.lang.IndexOutOfBoundsException folgende Fehler:
Für eine noch präzisere Abfrage, die Sie auch nutzen könnten Index: 1, Größe: 0 –
Die Liste didn‘ t haben in diesem Fall UIACell-Elemente. Hast du überprüft, ob meine xpath-Abfragen mit deiner App übereinstimmen? Ich vermutete diese Abfragen, aber wenn Sie möchten, können Sie auch die App-Struktur teilen, indem Sie den Inhalt von 'driver.getPageSource();' ausdrucken und in Ihre Frage bearbeiten. Dann kann ich die passenden Abfragen bearbeiten. – Domestus