Appium Inspector เครื่องมือช่วยสร้าง Automated Test Script

        Appium Inspector เป็นเครื่องมือช่วย Record และ Inspect element ที่เกิดขึ้นบน mobile device โดยการ Inspect นั้นก็สามารถจิ้มเอาได้เลย ไม่ต้องสนใจว่าฝั่ง developer เค้าเขียนอะไรกันมา


        ก่อนจะไปดูกันต่อ ต้องมั่นใจว่า Appium ถูกติดตั้งครบถ้วน ใครที่เข้ามาอ่านโพสนี้โดยที่ยังไม่ได้ลง ต้องไปอ่านบทความนี้ก่อนครับ >> ทดสอบ Mobile App แบบ Automated ด้วย Appium ทำยังไงกันนะ

การใช้งาน Appium Inspector

ดาวน์โหลด ที่นี่

เปิดแอปฯ 

        เราจะพบกับหน้าจอดังนี้ เราต้องตั้งค่าเพื่อชี้ไปยัง device ที่เราจะทำการ inspect




        สำหรับ Android ให้ใส่ดังนี้
{
  "platformName": "Android",
  "appium:platformVersion": "12",
  "appium:automationName": "uiautomator2"
}
        สำหรับ iOS ให้ใส่ดังนี้
{
  "platformName": "iOS",
  "automationName": "XCUITest",
  "deviceName": "iPhone 14 Pro"
}

        เนื่องจาก Appium Inspector จะทำงานผ่าน Appium เราจำเป็นจะต้อง start ทิ้งไว้ด้วยจึงจะ inspect ได้นะ ถ้ามั่นใจแล้วก็กด Start Session ได้เลย


Appium Inspector with iOS

Appium Inspector with Android


        นอกจากการ inspect element แล้ว เรายังสามารถ record ออกมาเป็นโค้ดพร้อมใช้งานได้ด้วย โดยเราสามารถเล่นตาม journey ต่างๆ ของแอปฯ ได้เลย  ซึ่งมีภาษาที่รองรับดังนี้
  • JS - WD (Promise)
  • JS - Webdriver.io
  • JS - Oxygen HQ
  • Java - JUnit
  • Python
  • Ruby
  • Robot Framework


ข้อดี

  • Tester Friendly เนื่องจากไม่จำเป็นเขียนโค้ดเยอะ ใช้การ record ช่วย
  • รองรับ Robot Framework ที่เป็นภาษาที่นิยมในการทำ UI Test

ข้อเสีย

  • Action ที่มีให้ค่อนข้างน้อย คือ Tap, Send Key, Clear ไม่เพียงพอต่อการทดสอบ
  • Code ที่ได้ยังต้องมีการแก้ไขก่อนใช้งานจริง
        ถ้าต้องการให้ script สมบูรณ์ขึ้น อาจต้องใช้ plugin VSCode ช่วยเขียนเพิ่มเติม https://marketplace.visualstudio.com/items?itemName=d-biehl.robotcode สิ่งที่ได้คือจะมี autocomplete เพื่อช่วยแนะนำคำสั่งที่เราต้องการใช้ เช่น Wait Until Page Contains Element, Swipe By Percent, Pinch เป็นต้น จากนั้นเราก็จะได้ UI Automate Test ที่สมบูรณ์ครับ

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

พิมพ์ซองจากรายชื่อ excel ด้วยวิธี Mail Merge

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)