เราสามารถใช้ Espresso ในการเขียนจำลอง action ที่เราจะทำกับ view ที่ต้องการได้ ดังนี้
onView({component_selector}).perform({action})ในกรณีที่ต้องการทำ action หลายอย่างต่อเนื่องกัน เราสามารถใช้คำสั่งดังนี้
onView({component_selector}).perform({action1}, {action2}, ..., {actionN})โดยที่
- {component_selector} เป็นคำสั่งสำหรับเลือก component ที่เราจะทำ action ด้วย
- {action} เป็น action ที่เราจะทำกับ component ที่เราเลือก
Action ที่สามารถทำกับ component ได้มีดังนี้
- Action สำหรับการ click หรือแตะที่ component
click()
- click หรือแตะที่ componentdoubleClick()
- double click หรือแตะที่ component 2 ครั้งlongClick()
- click ค้างหรือแตะที่ component ค้างเอาไว้- Action สำหรับการเลื่อนจอ
scrollTo()
- เลื่อนหน้าจอไปยัง componentswipeLeft()
- แตะที่ component แล้วเลื่ือนไปทางซ้ายswipeRight()
- แตะที่ component แล้วเลื่ือนไปทางขวาswipeUp()
- แตะที่ component แล้วเลื่ือนไปทางขึ้นswipeDown()
- แตะที่ component แล้วเลื่ือนไปทางลง- Action สำหรับ component ที่เป็นกล่องข้อความ
clearText()
- ลบข้อความทั้งหมดในกล่องข้อความtypeText(ข้อความ)
- พิมพ์ข้อความลงในกล่องข้อความreplaceText(ข้อความ)
- แทนที่ข้อความเดิมในกล่องข้อความด้วยข้อความใหม่
นอกจาก action ข้างต้นแล้ว เรายังมี action ที่ทำกับ device ซึ่งสามารถเรียกใช้ได้เลยดังนี้
pressBack()
- กดปุ่มย้อนกลับpressMenuKey()
- กดปุ่มเมนูcloseSoftKeyboard()
- ปิดแป้นคีย์บอร์ดที่แสดงบนหน้าจอpressIMEActionButton()
- กดปุ่ม action ที่อยู่บนแป้นคีย์บอร์ด
ข้อควรระวัง กรณีที่ทำ action หลายอย่างต่อเนื่องกัน โดยใช้ perform ครั้งเดียว อาจจะเกิดปัญหาในการทำ action ต่อๆไปได้ เนื่องจาก action ก่อนหน้ายังเล่น animation ยังไม่เสร็จ
หมายเหตุ สำหรับ action เพิ่มเติม สามารถอ่านได้ที่ https://developer.android.com/reference/androidx/test/espresso/action/ViewActions
No comments:
Post a Comment