Написать UI Testcase для первого экрана кажется очень простым.
Как показано ниже.
func testExample() {
let app = XCUIApplication()
let textField = app.otherElements.containing(.navigationBar, identifier:"id").children(matching: .other).element.children(matching: .other).element.children(matching: .other).element.children(matching: .textField).element
textField.tap()
textField.tap()
app.navigationBars["id"].buttons["Done"].tap()
}
Но как написать тестовый пример, в котором один навигационный контроллер запускает другой экран, как показано ниже.
Контроллер навигации -> UIViewController1 -> UIViewcontroller2 ..... UIViewController5
Чтобы протестировать UIViewController5, мне придется написать огромные строки кода, которые будут включать следующую логику.
1) Запустите приложение.
2) Запустите Controller1, выполните событие для запуска Controller2
3) Повторите шаг 2, пока он не достигнет Controller5.
Я считаю, что тестовый пример пользовательского интерфейса должен быть простым и не должен занимать много времени.
Какой должен быть идеальный подход в этом случае, так как для запуска тестового примера для Controller5 ему нужно будет выполнить все события перед ним?