Menu

Monday, August 3, 2020

[Android - Espresso] สิ่งที่เราสามารถทำกับ View ได้
[Android - Espresso] View Action

View หมายถึง UI component ที่แสดงอยู่บน Application ใน Android

เราสามารถใช้ 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 หรือแตะที่ component
    • doubleClick() - double click หรือแตะที่ component 2 ครั้ง 
    • longClick() - click ค้างหรือแตะที่ component ค้างเอาไว้
  • Action สำหรับการเลื่อนจอ
    • scrollTo() - เลื่อนหน้าจอไปยัง component
    • swipeLeft() - แตะที่ 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