Ho un UITableView che contiene circa 50 elementi. In qualsiasi momento solo 6 di essi sono visibili sullo schermo. Voglio selezionare una cella che non viene aggiunta alla vista tabella o dire che devo selezionare il 25 ° elemento dall'elenco dei dati.Automatizza IOS UITableview utilizzando l'appio
Ora sto usando questo metodo per clic su una cella a Tableview
wait.until(ExpectedConditions.visibilityOf(driver.findElementByAccessibilityId(element))).click();
Ma non il suo lavoro come l'elemento 25 non è ancora aggiunto alla vista. Si noti che sto aggiungendo l'identificatore di accessibilità per la cella di visualizzazione tabella dinamicamente all'interno del codice.
Come posso fare questo lavoro?
***** aggiunti ulteriori dettagli ******
ho la cella di vista tabella che visualizza due viste di testo. Nome breve della valuta e nome lungo della valuta.
Si consideri l'esempio
GBP
Gran Bretagna Pounds
Ora l'Identifier accessibilità per quella cella Tableview è impostato come GBP. Ora ho provato
driver.scrollTo ("GBP") e ("driver.scrollTo Pounds Gran Bretagna")
Entrambi lavorano poco. Ricevo un messaggio di errore
A element could not be located on the page using the Search parameter
Grazie.
Conosci il testo dell'elemento? perché driver.scrollTo ("Testo") funziona come un fascino in iOS. –
Hai provato X-Path? L'indice in x-path dovrebbe aiutarti ad accedere all'elemento durante lo scorrimento. – nullpointer
Penso che dovresti visualizzare la cella prima di selezionarla. Potrebbe essere necessario scorrere fino alla cella di destinazione (con un metodo di visualizzazione tabella), e dopo di ciò provare a selezionarlo. Per trovare l'indice delle celle è possibile determinarne il modello nell'array dei modelli. Era necessario perché TableView riutilizza le celle e modifichi AccessibilityId in runtime per tutte le celle di tableView –