ทำไมมันแรงจัง ทำไมแรงกว่าชาวบ้านเค้า! เผยวิธีปลดล็อก Predicate และ Class Chain บน robotframework-app
จากบทความที่แล้วผู้เขียนได้ทำการสรุปข้อดี-ข้อเสียของ Locator Stratergy แบบต่างๆไปแล้วโดยปกติแล้ว robotframework-appiumlibrary จะไม่สารถใช้ locator stratergy ในส่วนของ Predicate และ Class Chain ได้ ทำให้ automate ทำงานได้ยากขึ้น ทั้งจากความล่าช้าในการ execute test และ locator ที่อาจจะต้องเขียนให้ซับซ้อนขึ้นกว่าจะสามารถ สั่งคำสั่งไปหา element นั้นได้ บทความนี้จึงมานำเสนอวิธีการปลดล็อก เพื่อให้ robotframework สามารถใช้งาน Predicate และ Class Chain ได้
ไปที่ folder AppiumLibrary โดยปกติจะอยู่ภายใน python
เข้าไปที่ folder locator แล้วเปิด elementfinder.py ด้วย text editor จะพบว่า default ของไฟล์จะไม่ support Locator Stratergy Predicate และ Class Chain
ทำการเพิ่ม function _find_by_ios_predicate และ _find_by_class_chain ที่ class ElementFinder
จากนั้นเพิ่ม code ที่ fucntion init
ทำการเซฟและทดสอบ execute จะพบว่า appium server สามารถรับคำสั่งที่ใช้ locator เป็น Predicate และ Class Chain ได้ *** หมายเหตุ การแก้สามารถทำที่ไฟล์อื่นก็ได้ไม่จำเป็นต้องเป็นไฟล์ภายใต้ sitepackage เนื่องจากอาจมีการแก้ไขทำให้ไฟล์ที่แก้หาย ***