2016-03-03 3 views
7

Я пытаюсь установить язык и область моей цели тестирования пользовательского интерфейса, и, к сожалению, это не работает.Xcode 7 UI Тестирование целевого языкового стандарта и настроек региона

Я пробовал оба способа, первый:

  • продукта | Схема | Редактировать схему
  • Запустить | Опции
    • Язык Применение: Французский
    • Применение Регион: Франция
  • Test | Аргументы
    • Используйте аргументы Выполнить операцию по и переменные окружения: Проверено

И я стараюсь это другой путь:

  • продукт | Схема | Редактировать схему
  • Тест | Аргументы
    • Используйте аргументы Выполнить операцию по и переменные окружения: Переполнение
    • аргументы, переданные при запуске:
      • -AppleLanguages (French)
      • -AppleLocale fr_FR

Каждый способ resultin g в тестировании пользовательского интерфейса, которое все еще происходит на английском языке. Более того, когда я нажимаю кнопку записи, она работает по-французски ...

Так что если я что-то сделаю неправильно, я был бы рад узнать!

Заранее благодарен!

+1

Вы поняли это? У меня точно такая же проблема. Даже изменения настроек тренажера не влияют :-( – ChaosSpeeder

ответ

8

Я понял это. Я установил настройки локали в параметрах startArguments для временного тестирования в 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" 
    ] 

Для CI я использую fastlane от Felix Krause и получить локализованные скриншоты с снимку.

+0

Woot! Благодаря! Я работаю, даже если не понимаю, почему целевых настроек нет! (Я также использую утилиты Felix Krause) – Zaphod

+0

Можно было бы подумать, что настройки схемы будут выполнять эту работу, но они этого не делают. Вы, сэр, герой! –

+0

не работает для меня печально. По крайней мере, используя [NSLocale currentLocale] .localeIdentifier в целевом приложении. Он игнорирует аргументы запуска и вместо этого считывает настройки сима. На самом деле это связано с другим сообщением «Аргументы фактически передаются самому тесту, но не тестируемому приложению». См. Http://stackoverflow.com/questions/35463150/scheme-language-setting-ignored-in-ios-unit-and-ui-tests Также, что Apple заявляет в видео WWDC. Это возможно только для того, чтобы пакет тестового бегуна взаимодействовал с целевой программой приложения через доступность. –

0

Попробуйте изменить спецификации на тренажере. Он работал для меня каждый раз.

На Simulator: Настройки> Общие> Язык & область> iPhone Язык -> изменить здесь

+0

Спасибо, но, к сожалению, есть два оговорки к этому методу: когда вы перезагружаете симулятор, вы теряете свою конфигурацию, но больше всего это работает только на симуляторах на вашем локальном Как и для CI, когда он запускается на сервере Xcode, вы не получаете доступ к испытаниям тренажеров. – Zaphod

+0

Извините, это был мой единственный выстрел. Удачи –

 Смежные вопросы

  • Нет связанных вопросов^_^