2016-07-20 11 views

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.

Sie
List<MobileElement> elements = driver.findElements(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIACollectionView[1]/UIACollectionCell")); 
+0

danken, wird diese –

+0

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 –

+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