Тестирование e2e с детоксом не запускает симулятор iPhone, вместо этого запускает Apple TV

тлдр; У меня есть приложение React Native, и я использую рабочее пространство. Я ознакомился с этим началом детоксикации и Теперь у меня есть папка e2e с 3 файлами (по умолчанию) и конфигурация в package.json.

Конфигурация выглядит так

"detox": {
    "test-runner": "mocha",
    "specs": "e2e",
    "runner-config": "e2e/mocha.opts",
    "configurations": {
        "ios.sim.debug": {
            "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/MyApp.app",
            "build": "xcodebuild -workspace ios/MyApp.xcworkspace -scheme Staging -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
            "type": "ios.simulator",
            "name": "iPhone 6"
        }
    }
}

Когда я запускаю xcrun simctl list, я получаю следующий список, где iPhone 6 указан и загружен.

== Devices ==
-- iOS 11.4 --
    iPhone 5s (E9D0264C-9257-4BE4-8693-4B7AE6AAE97A) (Shutdown)
    iPhone 6 (099D481A-6F6D-4DC9-A379-16DFAE617CA0) (Booted)
    iPhone 6 Plus (7556F239-06F0-421D-A294-AE15BCF6D64D) (Shutdown)
    iPhone 6s (FB65410A-4654-40BB-88B0-234DF3C191DE) (Shutdown)
...
-- tvOS 11.4 --
    Apple TV (9875527D-A6FC-4BD8-965E-255C910E3ABA) (Shutdown)
    Apple TV 4K (0BF2198F-04AF-49CC-B05C-540BB2FB53AF) (Shutdown)
    Apple TV 4K (at 1080p) (8F14FC95-685B-481C-860F-384CBD880D2B) (Shutdown)
...

detox build --configuration ios.sim.debug работает нормально, но когда я запускаю detox test --configuration ios.sim.debug или detox build или detox build --reuse, он запускает симулятор Apple TV и выдает эту ошибку

detox info 11:47:49: server listening on localhost:51379...
detox info 2: Searching for device matching iPhone 6...
detox info 5: Booting device 9875527D-A6FC-4BD8-965E-255C910E3ABA
detox info 7: Terminating com.local.MyApp...
detox ERR! 7: An error was encountered processing the command (domain=com.apple.CoreSimulator.SimError, code=164):
Unable to lookup in current state: Shutting Down, exited with code 164
  1) "before all" hook

  0 passing (9s)
  1 failing

  1) "before all" hook:
     Error: 7: running "/usr/bin/xcrun simctl terminate 9875527D-A6FC-4BD8-965E-255C910E3ABA com.local.MyApp" returned undefined
      at Object.execWithRetriesAndLogs (node_modules/detox/src/utils/exec.js:36:11)
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:118:7)



child_process.js:615
    throw err;
    ^

Error: Command failed: node_modules/.bin/mocha e2e --opts e2e/mocha.opts --configuration ios.sim.debug   --reuse  --grep :android: --invert
    at checkExecSyncError (child_process.js:575:11)
    at Object.execSync (child_process.js:612:13)
    at runMocha (/Users/me/code/node_modules/detox/local-cli/detox-test.js:114:6)
    at run (/Users/me/code/node_modules/detox/local-cli/detox-test.js:75:7)
    at Object.<anonymous> (/Users/me/code/node_modules/detox/local-cli/detox-test.js:181:1)
    at Module._compile (module.js:649:30)
    at Object.Module._extensions..js (module.js:660:10)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:501:12)
    at Function.Module._load (module.js:493:3)

Вы можете видеть, что под detox info 5: начинается загрузка 9875527D-A6FC-4BD8-965E-255C910E3ABA, то есть устройства Apple TV.

Как я могу настроить детокс для запуска симулятора iPhone вместо этого?


person Tim Rijavec    schedule 19.06.2018    source источник
comment
Я не знаю, поможет ли это тем, у кого такие же проблемы, но мне пришлось обновить applesimutils и очистить кеш. brew update && brew upgrade applesimutils и detox clean-framework-cache && detox build-framework-cache   -  person Tim Rijavec    schedule 19.06.2018


Ответы (2)


brew update && brew upgrade applesimutils и detox clean-framework-cache && detox build-framework-cache, предложенные Тимом Рижавеком, помогли в моем случае! Скрытое в комментариях казалось, что решения этой проблемы нет.

person mamartin    schedule 26.09.2018

Что сработало для меня, что запускает обе эти команды в терминале

brew update && brew upgrade applesimutils

и

detox clean-framework-cache && detox build-framework-cache

Затем я повторно запустил команды сборки и тестирования детоксикации, и это все еще не сработало. Тогда я побежал.

open -a simulator

На моем Mac, и это загрузило пару экземпляров симуляторов ios, для которых были созданы резервные копии, поэтому похоже, что происходило что-то странное, из-за чего симулятор фактически не загружался. После этого запущенный детокс-тест начал нормально загружать симулятор.

person Jose    schedule 09.12.2020