Ho un campo di ricerca nella mia app e ho impostato il tipo di chiave di ritorno della tastiera per questo campo su UIReturnKeyNext
. Sto tentando di scrivere un test UIAutomation che fa clic sul pulsante Avanti sulla tastiera utilizzando la seguente riga:Facendo clic sulla tastiera "Avanti" utilizzando UIAutomation
UIATarget.localTarget().frontMostApp().mainWindow().keyboard().keys().firstWithName("next");
Questa chiamata non riesce perché la chiave con il nome 'prossimo' è non essere trovata. Ho fatto un dump di tutti gli elementi nella mia app utilizzando:
UIATarget.localTarget().frontMostApp().logElementTree();
Questo rivela che c'è davvero un tasto nella tastiera con il nome di 'prossimo', ma in qualche modo il mio tentativo di recuperare come esposizione qui sopra ancora non riesce. Posso comunque recuperare altre chiavi (come la chiave per la lettera 'u') usando questo metodo. C'è un problema noto qui o sto facendo qualcosa di sbagliato?
Ho provato altre varianti senza fortuna:
UIATarget.localTarget().frontMostApp().mainWindow().keyboard().elements()["next"];
Ecco una cattura dello schermo degli elementi in mio UIAKeyboard:
Ho provato entrambi e non ho avuto fortuna. Grazie per i suggerimenti però. – kodie
Julien, la tua risposta mi ha spinto a giocare di nuovo con questo, e l'uso della funzione buttons() ha portato a una soluzione operativa. Ecco cosa funziona per me: UIATarget.localTarget(). FrontMostApp(). MainWindow(). Keyboard(). Buttons(). FirstWithPredicate ("name contains [c] 'next'"); Mi sembra che i pulsanti() ["prossimo"] avrebbero dovuto funzionare e non so perché non l'ha fatto, ma quanto sopra funziona. Grazie per il suggerimento. – kodie