2015-08-27 18 views
7

Desidero trovare un UIView XCUIElement, ma non riesco a trovarlo. Questo UIView viene utilizzato per visualizzare determinate informazioni all'utente, e ho bisogno di essere in grado di verificare se è presente sullo schermo in determinate situazioni. Ho view.userInteractionEnabled impostato su YES.Test UI Swift Trova UIView personalizzato XCUIElement

Ho provato a premere "record" e selezionarlo, ma non sembra selezionabile, in quanto non scrive il codice per trovarlo quando lo tocco.

Ho provato a localizzarlo a livello di codice, ma XCUIElementType Any e Other non sembrano trovarlo e non vedo uno più appropriato per View.

Ho provato a impostare l'accessibilità nello storyboard, ma l'accessibilità sembra svanire dopo aver eseguito il test dell'unità.

Questo sembra che dovrebbe essere piuttosto semplice, quindi mi dispiace se ho perso qualcosa qui.

+0

Stai usando l'ultimo Xcode? Beta 6 Penso che ... Se condividi il tuo codice, potrei dare un'occhiata. –

+0

Wow rilasciano una nuova versione di questa beta ogni settimana sembra, no sono su 5. Non ho molto codice da condividere perché non so come farlo; Il codice ideale sembrerebbe molto simile a self.app.xxx.elementBoundByIndex (UInt (0)) dove xxx è una vista, simile a come si accederà agli altri elementi – Alex

+0

Hai trovato una soluzione a questo? – Tomte

risposta

0

Per quanto ho capito, XCUI utilizza le informazioni di accessibilità per accedere all'oggetto. Nella mia app, ho una vista personalizzata che si comporta semanticamente come un'immagine (mostra alcuni contenuti grafici). È configurato utilizzando il generatore di interfacce, quindi nello storyboard l'ho selezionato e attivato i seguenti elementi di accessibilità.

snapshot of interface builder

Altri elementi delle mie applicazioni sono UIView personalizzato che agisce pulsante mi piace, e sono in bundle all'interno di un altro UIView personalizzato, quindi non possono impostare le proprietà di accessibilità dal costruttore di interfaccia. Così li ho impostati in codice:

self.accessibilityTraits = UIAccessibilityTraitButton 
    self.accessibilityIdentifier = "commit" 
    self.accessibilityLabel = "Commit" 

con quello, la modalità di registrazione trova tutte le mie visualizzazioni personalizzate molto bene.

+0

U manca un punto come hai usato sul sito uitest. –