เราสามารถใช้ 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