Тестовые примеры пользовательского интерфейса XCode, XCtestcase со многими контроллерами в UINavigationController - PullRequest
0 голосов
/ 30 апреля 2018

Написать тестовый интерфейс UI для первого экрана очень просто.

Как показано ниже.

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) Launch Controller1, выполнить событие для Launch Controller2

3) Повторите шаг 2, пока он не достигнет Controller5.

Я считаю, что тестовый пример интерфейса должен быть простым и не должен занимать время.

Каким должен быть идеальный подход в этом случае, так как для запуска контрольного примера для Controller5 ему придется выполнить все события до него?

...