Проблема, с которой вы столкнетесь, состоит в том, что у вас будут противоречивые снимки экрана, которые могут быть или не быть проблемой.Кроме того, могут быть другие проблемы, такие как плохая контрастность, размытые фотографии и т. Д.
С учетом вышесказанного, лучший подход заключается в использовании аргументов запуска для снимков fastlane и вставке изображения по вашему выбору для насмешки на экранах.,Таким образом, вы можете полностью контролировать среду и обеспечивать согласованные результаты.
Для начала, что-то подобное в вашей функции setupUp может помочь вам начать:
class Screenshot: XCTestCase {
var app: XCUIApplication!
override func setUp() {
super.setUp()
app = XCUIApplication()
app.launchArguments = ["isUITest"]
setupSnapshot(app)
app.launch()
}
}
Чтобы проверить это вВаше приложение:
let isUITesting = ProcessInfo.processInfo.arguments.contains("isUITest")
Теперь, когда ваше приложение запускается с помощью UI Test для ваших снимков, вы можете знать об этом.Учитывая эту информацию, просто управляйте UIImageView
, который вставляет ваше тестовое изображение, позволяя имитировать эффект камеры.Это даст вам единообразный обзор всех ваших снимков экрана.