การเขียน 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
ฉันเชื่อว่ากรณีทดสอบ UI ควรเรียบง่ายและไม่ควรใช้เวลา
แนวทางใดควรเป็นวิธีที่ดีที่สุดในกรณีนี้ ในการรันกรณีทดสอบสำหรับ Controller5 นั้นจะต้องดำเนินการเหตุการณ์ทั้งหมดก่อนหน้านั้น