2016-03-03 35 views
7

Sto provando a impostare la lingua e la regione del mio target di test dell'interfaccia utente, e sfortunatamente non sembra funzionare.Xcode 7 UI Test delle impostazioni locali e regionali della destinazione

Ho provato entrambi i modi, in primo luogo:

  • prodotto | Schema | Modifica schema
  • Esegui | Opzioni
    • dell'applicazione Lingua: francese
    • Regione Applicazione: Francia
  • prova | Argomenti
    • Usare argomenti della azione Esegui e variabili d'ambiente: Controllato

E provo questo altro modo:

  • prodotto | Schema | Modifica schema
  • Test | Argomenti
    • Usare argomenti della azione Esegui e variabili d'ambiente: non selezionata
    • argomenti passati al momento del lancio:
      • -AppleLanguages (French)
      • -AppleLocale fr_FR

ogni modo resultin g nel test dell'interfaccia utente ancora in corso in inglese. Inoltre, quando premo il pulsante di registrazione, funziona in francese ...

Quindi, se faccio qualcosa di sbagliato, sarei felice di sapere!

Grazie in anticipo!

+1

Avete capito? Ho esattamente lo stesso problema. Anche le modifiche alle impostazioni del simulatore non hanno alcun effetto :-( – ChaosSpeeder

risposta

8

ho capito. Ho impostato le impostazioni locali in launchArguments per testare temporaneamente in Xcode.

override func setUp() { 
    super.setUp() 

    // Put setup code here. This method is called before the invocation of each test method in the class. 

    // In UI tests it is usually best to stop immediately when a failure occurs. 
    continueAfterFailure = false 
    app = XCUIApplication() 
    app.launchArguments = [ 
     "-inUITest", 
     "-AppleLanguages", 
     "(de)", 
     "-AppleLocale", 
     "de_DE" 
    ] 

Per CI Io uso fastlane da Felix Krause e ottenere le immagini localizzate con snapshot.

+0

Woot! Grazie! Funziono, anche se non capisco perché le impostazioni di destinazione no! (Uso anche i programmi di utilità di Felix Krause) – Zaphod

+0

Si potrebbe pensare che le impostazioni dello schema facciano il lavoro, ma non lo fanno. Tu, signore, sei un eroe! –

+0

purtroppo non funziona per me. Almeno utilizzando [NSLocale currentLocale] .localeIdentifier nell'applicazione di destinazione. Ignora gli argomenti di avvio e legge invece le impostazioni della sim. In realtà questo si lega con un altro post "Gli argomenti vengono effettivamente passati al test stesso ma non all'app testata". Vedere http://stackoverflow.com/questions/35463150/scheme-language-setting-ignored-in-ios-unit-and-ui-testests Anche ciò che Apple afferma nel video WWDC. È possibile che il bundle del test runner interagisca con l'obiettivo dell'app tramite accessibilità. –

0

Provare a cambiare le specifiche sul simulatore. Ha funzionato per me ogni volta.

sul simulatore: Impostazioni> Generali> Lingua & Regione> iPhone Lingua -> cambiare qui

+0

Grazie, ma sfortunatamente, ci sono due avvertimenti su questo metodo: quando resetti il ​​simulatore, perdi la configurazione, ma soprattutto funziona solo sui simulatori del tuo locale macchina Come è per CI quando gira su Xcode server non si accede ai test dei simulatori. – Zaphod

+0

Scusa quindi, quello è stato il mio unico colpo. Buona fortuna –