Я пытаюсь расширить новые функции тестирования пользовательского интерфейса в Xcode 7, делая снимки текущих элементов экрана (метки, изображения, кнопки) и сохраняя информацию об их доступности в файлах json.
Идея состоит в том, что при последующем запуске тестов пользовательского интерфейса можно сделать текущий снимок экрана и сравнить с существующим, тест завершится неудачно, если будут обнаружены дополнительные или отсутствующие элементы.
К сожалению, ресурсы приложения недоступны во время тестирования пользовательского интерфейса, даже с правильной целью, поэтому файлы json не могут быть загружены для сравнения. Следующий стандартный код не может загрузить ресурс:
guard let resourcePath = NSBundle.mainBundle ().pathForResource ("StartScreenShapshot", ofType:"json") else {
XCTFail ("can't load resource StartScreenShapshot")
return
}
Я могу понять, почему Apple выбрала этот подход с песочницей, поскольку тестирование пользовательского интерфейса должно основываться на том, что происходит на экране, и доступ к работе приложения не нужен, но отсутствие доступа к пакету ресурсов — это боль.
Итак, есть ли способ загрузить локальные ресурсы из приложения или каким-либо другим способом локально во время тестирования пользовательского интерфейса Xcode 7?
Сохранение файлов локально (автоматически) также было бы огромным плюсом, избавило бы от создания их вручную.