Il mio team e io abbiamo configurato un server Jenkins per automatizzare i test di unità e ui in esecuzione su un Mac Mini che utilizziamo come server di build. Questo Mac Mini non ha nessuna periferica collegata e l'unico modo per accedervi è effettuare il login da remoto.Test UI Xcode 7 non riescono con "Tempo scaduto in attesa del completamento dell'evento chiave"
Quando si accede all'apparecchio da remoto, utilizzando l'app di condivisione dello schermo incorporata nel mio Mac, i test funzionano perfettamente con il simulatore iOS. Tuttavia, se chiudo la connessione remota mentre i test sono in esecuzione, i test che implicano la digitazione del testo non riusciranno con il seguente errore quando si tenta di digitare (tutti gli altri test/test dell'interfaccia utente passano a pieni voti):
Errore di asserzione: Timeout durante l'attesa per l'evento chiave per completare
Questo fa sì che, ovviamente, alcuni problemi quando Jenkins è in funzione automaticamente i test per noi, dal momento che non sempre vogliamo essere registrato in remoto nella macchina.
Mi sembra che questo abbia qualcosa a che fare con la tastiera software del simulatore ma non riesco a capire perché sarebbe un problema. Il Mac deve avere una sorta di output di visualizzazione collegato in modo che la tastiera del software esista o qualcosa del genere? Connettere un monitor alla macchina (anche se non viene realmente utilizzato) causerà il superamento dei test? Perché dovrebbe essere così?
Non sono sicuro che sia d'aiuto, ma ricordo che Mac Minis non sfrutta appieno la GPU quando gira senza testa. Ho sentito di [pochi] (http://blog.macsales.com/25997-headless-mac-video-accelerator-new-solution-to-old-problem) [workaround] (http: // www. macrumors.com/2015/11/10/newertech-hdmi-headless-adapter-for-mac-mini/) ma non sono mai riuscito a provarlo. –