Menulis Testcase UI untuk layar pertama tampaknya sangat sederhana.
Seperti yang ditunjukkan di bawah ini.
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()
}
Namun cara menulis kasus uji, di mana satu pengontrol navigasi memicu layar lain seperti yang ditunjukkan di bawah ini.
Pengontrol Navigasi -> UIViewController1 -> UIViewcontroller2 .....UIViewController5
Untuk menguji UIViewController5, saya harus menulis baris kode besar-besaran yang mencakup logika berikut
1) Luncurkan Aplikasi.
2) Luncurkan Controller1, lakukan acara untuk Meluncurkan Controller2
3) Ulangi langkah 2 hingga mencapai Controller5.
Saya yakin kasus uji UI harus sederhana dan tidak memakan waktu.
Pendekatan apa yang ideal dalam kasus ini, karena untuk menjalankan test case untuk Controller5, ia harus mengeksekusi semua event sebelumnya?