2016-03-03 7 views
7

Ich versuche, die Sprache und die Region meiner UI Testing Ziel festlegen, und es scheint leider nicht zu funktionieren.Xcode 7 UI Testing Ziel Gebietsschema und Region Einstellungen

Ich habe beide Wege versucht, zuerst:

  • Artikel | Schema | Bearbeite Schema
  • Lauf | Optionen
    • Anwendungssprache: Französisch
    • Anwendung Region: Frankreich
  • -Test | Argumente
    • Verwenden Sie die Argumente der Run Aktion und Umgebungsvariablen: Checked

Und ich versuche, diese andere Art und Weise:

  • Artikel | Schema | Edit Scheme
  • Test | Argumente
    • Verwenden Sie die Argumente der Run Aktion und Umgebungsvariablen: Ungeprüfter
    • Argumente beim Start übergeben:
      • -AppleLanguages (French)
      • -AppleLocale fr_FR

Jede Art und Weise Resul- g in der UI Testing geschieht immer noch in englischer Sprache. Außerdem, wenn ich die Aufnahme-Taste drücke, läuft es in Französisch ...

Also wenn ich etwas falsch mache, würde ich mich freuen zu wissen!

Vielen Dank im Voraus!

+1

Haben Sie es herausgefunden? Ich habe genau das gleiche Problem. Selbst die Änderung der Simulatoreinstellungen hat keine Auswirkungen :-( – ChaosSpeeder

Antwort

8

Ich habe es herausgefunden. Ich habe die Locale-Einstellungen in den LaunchArguments für den temporären Test in Xcode festgelegt.

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" 
    ] 

Für CI Ich benutze fastlane von Felix Krause und lokalisierte Screenshots mit Snapshot bekommen.

+0

Woot! Vielen Dank! Ich arbeite, auch wenn ich nicht verstehe, warum die Zieleinstellungen nicht! (Ich benutze auch Felix Krauses utils) – Zaphod

+0

Man würde denken, dass Schemaeinstellungen die Arbeit machen würden, aber sie tun es nicht. Sie, Herr, sind ein Held! –

+0

funktioniert leider nicht für mich. Verwenden Sie mindestens [NSLocale currentLocale] .localeIdentifier in der Zielanwendung. Es ignoriert die Startargumente und liest stattdessen die Sim-Einstellungen. Tatsächlich hängt das mit einem anderen Beitrag zusammen: "Die Argumente werden tatsächlich an den Test selbst übergeben, aber nicht an die getestete App". Siehe http://stackoverflow.com/questions/35463150/scheme-language-setting-ignored-in-ios-unit-and-ui-tests Auch was Apple State in der WWDC-Video. Es ist nur möglich, dass das Test-Runner-Bundle über Barrierefreiheit mit dem App-Ziel interagiert. –

0

Versuchen Sie, die Spezifikationen auf dem Simulator zu ändern. Es hat jedes Mal für mich funktioniert.

Auf Simulator: Einstellungen> Allgemein> Sprache & Region> iPhone Sprache -> ändern

+0

Vielen Dank, aber leider gibt es zwei Vorbehalte bei dieser Methode: Wenn Sie den Simulator zurücksetzen, verlieren Sie Ihre Konfiguration, aber vor allem funktioniert es nur auf Simulatoren auf Ihrem lokalen Wie bei CI, wenn es auf Xcode-Server läuft, greifen Sie nicht auf die Simulatoren zu, auf denen Tests ausgeführt werden. – Zaphod

+0

Sorry, das war mein einziger Schuss. Viel Glück –