2016-03-03 3 views
7

J'essaie de définir la langue et la région de ma cible de test de l'interface utilisateur et, malheureusement, cela ne semble pas fonctionner.Xcode 7 UI Test des paramètres régionaux et régionaux cibles

J'ai essayé les deux sens, tout d'abord:

  • Produit | Scheme | Modifier le schéma
  • Exécuter | Options
    • application Langue: Français
    • Région Application: France
  • test | Arguments
    • Utilisez les arguments de l'action, l'exécution et les variables d'environnement: Vérifié

Et j'essayer cette autre manière:

  • Produit | Scheme | Modifier le schéma
  • Test | Arguments
    • Utilisez les arguments de l'action, l'exécution et les variables d'environnement: non contrôlé
    • Arguments passés au lancement:
      • -AppleLanguages (French)
      • -AppleLocale fr_FR

Chaque chemin resultin g dans le test de l'interface utilisateur se passe encore en anglais. De plus, quand j'appuie sur le bouton d'enregistrement, il fonctionne en français ...

Donc, si je fais quelque chose de mal, je serais heureux de savoir!

Merci d'avance!

+1

L'avez-vous compris? J ai exactement le même problème. Même les paramètres du simulateur changent n'a aucun effet :-( – ChaosSpeeder

Répondre

8

je l'ai compris. Je définis les paramètres régionaux dans launchArguments pour les tests temporaires dans 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" 
    ] 

Pour CI J'utilise fastlane de Felix Krause et obtenir des captures d'écran avec localisé instantané.

+0

Woot! Merci! Je travaille, même si je ne comprends pas pourquoi les paramètres de la cible ne le sont pas! (J'utilise aussi les utils de Felix Krause) – Zaphod

+0

On pourrait penser que les paramètres du système feraient le travail, mais ils ne le font pas. Vous, monsieur, êtes un héros! –

+0

ne fonctionne pas pour moi malheureusement. Au moins en utilisant [NSLocale currentLocale] .localeIdentifier dans l'application cible. Il ignore les arguments de lancement et lit à la place les paramètres de simulation. En fait, cela rejoint un autre message "Les arguments sont effectivement passés au test lui-même mais pas à l'application testée". Voir http://stackoverflow.com/questions/35463150/scheme-language-setting-ignored-in-ios-unit-and-ui-tests Également ce que l'état d'Apple dans la vidéo WWDC. L'ensemble des coureurs de test peut uniquement interagir avec la cible de l'application via l'accessibilité. –

0

Essayez de modifier les spécifications sur le simulateur. Cela a fonctionné pour moi à chaque fois.

Sur Simulator: Réglages> Général> Langue & Région> Langue iPhone -> changer ici

+0

Merci, mais malheureusement, il y a deux avertissements à cette méthode: quand vous réinitialisez le simulateur, vous perdez votre configuration, mais surtout, cela ne fonctionne que sur les simulateurs de votre région Comme c'est le cas pour CI quand il fonctionne sur un serveur Xcode, vous n'avez pas accès aux simulateurs. – Zaphod

+0

Désolé, c'était mon seul cliché. Bonne chance –