[TIP] เพิ่มความเร็วการ execute Automate Script ด้วยเทคนิคการ Reuse element.
- Tinpan.S
- Dec 17, 2018
- 1 min read

ปกติแล้วเวลาที่เราเขียน test script เรามักจะมองข้ามเรื่องความเร็วในการ execute ของมันไป ถ้ามันไม่ได้ช้ามาก แต่ผมพบว่าการ test บน iOS ในบางครั้งก็ใช้เวลานานมาก ซึ่งต้นเหตุอาจมาจากหลายๆปัจจัย ทั้งด้านตัว Applicatoin เอง ( ถ้าเป็น native app จะเห็นชัดมากว่าเร็วกว่า Hybridge ) , การเลือกใช้ Locator Stratergy ( สามารถหาอ่านได้จากบทความ ) , และสุดท้ายคือวิธีการ Test ซึ่งในบทความนี้จะมานำเสนอวิธีการที่หลายคนมองข้ามไป นั่นก็คือการ reuse ใช้ element เดิมเพื่อลดจำนวนการ Load Element โดยพระเอกคือ Keyword Get Webelement และ Get Webelements นั่นเอง เนื่องจาก Keyword เหล่านี้ จะ return ค่า element กลับมา Example for Robot Framework ${element}= AppiumLibrary.Get Webelement ${locator}
AppiumLibrary.click element ${element}
จะสังเกตุได้ว่า เราสามารถเอา ${element} ไปวนใช้ซ้ำๆในหน้านั้นได้เลย ไม่ต้องทำการ get ใหม่ให้เสียเวลา ข้อดี : เพิ่มความเร็วในการ Test อย่างเห็นได้ชัดเมื่อมีการใช้ Element นั้นซ้ำๆ
ข้อเสีย : ไม่ควรใช้กลับ page ที่มีการเปลี่ยนแปลงของโครงสร้าง Element เพราะอาจทำให้การทำงานผิดพลาดได้



![[Tool]ASM Android Screen Monitor](https://static.wixstatic.com/media/9ba3b9_0f60667ce79e4e8698a93ded3177e686~mv2.png/v1/fill/w_447,h_250,fp_0.50_0.50,lg_1,q_35,blur_30,enc_avif,quality_auto/9ba3b9_0f60667ce79e4e8698a93ded3177e686~mv2.webp)
![[Tool]ASM Android Screen Monitor](https://static.wixstatic.com/media/9ba3b9_0f60667ce79e4e8698a93ded3177e686~mv2.png/v1/fill/w_220,h_123,fp_0.50_0.50,q_95,enc_avif,quality_auto/9ba3b9_0f60667ce79e4e8698a93ded3177e686~mv2.webp)
![[How-To]วิธีดู udid ของเครื่อง Android](https://static.wixstatic.com/media/9ba3b9_5b491ebcc32f471ca9a4aabd96d41832~mv2.png/v1/fill/w_447,h_250,fp_0.50_0.50,lg_1,q_35,blur_30,enc_avif,quality_auto/9ba3b9_5b491ebcc32f471ca9a4aabd96d41832~mv2.webp)
![[How-To]วิธีดู udid ของเครื่อง Android](https://static.wixstatic.com/media/9ba3b9_5b491ebcc32f471ca9a4aabd96d41832~mv2.png/v1/fill/w_220,h_123,fp_0.50_0.50,q_95,enc_avif,quality_auto/9ba3b9_5b491ebcc32f471ca9a4aabd96d41832~mv2.webp)
![[Tool] UI Automator Viewer](https://static.wixstatic.com/media/9ba3b9_effe26d321544e478df8d306901cccc1~mv2.png/v1/fill/w_447,h_250,fp_0.50_0.50,q_35,blur_30,enc_avif,quality_auto/9ba3b9_effe26d321544e478df8d306901cccc1~mv2.webp)
![[Tool] UI Automator Viewer](https://static.wixstatic.com/media/9ba3b9_effe26d321544e478df8d306901cccc1~mv2.png/v1/fill/w_220,h_123,fp_0.50_0.50,q_95,enc_avif,quality_auto/9ba3b9_effe26d321544e478df8d306901cccc1~mv2.webp)












![[Python] TypeError: String indices must be integers By Adding Pytest-runner](https://static.wixstatic.com/media/9f1b00_e1685a26d4214fdeb150a0008671b87b~mv2.jpg/v1/fill/w_274,h_250,fp_0.50_0.50,q_30,blur_30,enc_avif,quality_auto/9f1b00_e1685a26d4214fdeb150a0008671b87b~mv2.webp)
![[Python] TypeError: String indices must be integers By Adding Pytest-runner](https://static.wixstatic.com/media/9f1b00_e1685a26d4214fdeb150a0008671b87b~mv2.jpg/v1/fill/w_69,h_63,fp_0.50_0.50,q_90,enc_avif,quality_auto/9f1b00_e1685a26d4214fdeb150a0008671b87b~mv2.webp)
![[Python] TypeError: String indices must be integers By Fixing Damaged Packages](https://static.wixstatic.com/media/9f1b00_48a23fd1b86d4becae687ec4bc2a99f0~mv2.png/v1/fill/w_442,h_250,fp_0.50_0.50,lg_1,q_35,blur_30,enc_avif,quality_auto/9f1b00_48a23fd1b86d4becae687ec4bc2a99f0~mv2.webp)
![[Python] TypeError: String indices must be integers By Fixing Damaged Packages](https://static.wixstatic.com/media/9f1b00_48a23fd1b86d4becae687ec4bc2a99f0~mv2.png/v1/fill/w_69,h_39,fp_0.50_0.50,q_95,enc_avif,quality_auto/9f1b00_48a23fd1b86d4becae687ec4bc2a99f0~mv2.webp)







Comments