top of page

มาทำความรู้จัก Locator Stratergy แบบต่างๆ ที่ใช้กับ Appium-XCUITest กันเถอะ


Locator เปรียบเหมือนกับ oxygen สำหรับการทำ Automation test ถ้าไม่มี Locator หรือ Locator ที่มีไม่ดีการทำ Automation test คงเป็นไปได้อย่างยากลำบาก โดยเฉพาะการทำ Automation test บน iOS Locator ถือเป็นส่วนสำคัญอย่างมาก เพราะจะส่งผลอย่างชัดเจนในด้านความเร็ว โดยบทความนี้จะมานำเสนอว่า Locator Stratergy แต่ละแบบมีข้อดีข้อเสียยังไง

ลำดับ Locator Stratergy จากความเร็วมากไปน้อยดังนี้

  1. Class Name

  2. Accessibility Id

  3. Link Text

  4. PredicateClass

  5. ChainXPath

*** ตัวอย่างการใช้งานสามารถดูได้ที่ link ใน credit ***

สรุป ข้อดี - ข้อเสีย จากที่เคยใช้งานมา

Class Name ข้อดี : ให้ความเร็วในการ สั่งคำสั่งได้เร็วที่สุด ข้อเสีย : โอกาสใช้งานมีน้อยเนื่องจาก ในการใช้งานจริงๆ locator แต่ละประเภทจะมีมากกว่า 1 แบบในหน้านั้นๆ Accessibility Id ข้อดี : ใช้งานง่าย ข้อเสีย : ต้องระวังเรื่องการซ้ำ ของ Id Predicate ข้อดี : ในกรณีที่เกิดการซ้ำของ Id , name เนื่องด้วยข้อจำกัดของ Application Predicate จะสามารถจำแนกโดยใช้ attribute อื่นๆได้ ข้อเสีย : จำเป็นต้องมี attribute ในการช่วยจำแนก Class Chain ข้อดี : ในกรณีที่ต้องใช้เป็น absolute xpath การใช้ Class Chain จะให้ประสิทธิภาพที่ดีกว่า ข้อเสีย : การใช้งานยังไม่ยืดหยุ่นเท่า xpath และสิ่งที่ Class Chain ทำได้ predicate ก็ทำได้เช่นกัน XPath ข้อดี : สามารถเขียนได้ยืดหยุ่นมากที่สุดในบรรดา locator ทั้งหมด ข้อเสีย : เมื่อ locator มีความซับซ้อนมากจะทำให้ใช้เวลาในการสั่งคำสั่งนาน *** เนื่องจากผู้เขียนยังไม่เคยใช้ Link Text จึงขอเว้นไว้ก่อน ไว้ลองแล้วจะมาอัพเดตให้นะครับ ***

แหล่งที่มา : https://github.com/facebook/WebDriverAgent/wiki/How-To-Achieve-The-Best-Lookup-Performance

Recent Posts
Archive
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page