feature-image-appium-prerequisite-install
feature-image-appium-prerequisite-install

ภาคต่อจาก Appium สําหรับมือใหม่

หลังจากเรียนรู้ทฤษฎีว่า Appium คืออะไร? ทํางานยังไง? ออกแบบแบบไหน? ที่นี้มาดูการทํางานของจริงดีกว่าทําไงบ้าง ต้องเตรียมอะไรบ้าง? จะได้รู้ว่ามันไม่ได้ยากอย่างที่คิด

อุปกรณ์ที่ต้องมี

  1. APK ของแอพที่เราต้องการ
  2. Appium Desktop สําหรับรัน server บนเครื่องคอมโดยไม่ต้องผ่าน commandline
  3. Test Scripts ถ้าไม่มีโหลด Python Client ไปใช้ก่อนได้(ถ้าต้องการดู API ทั้งหมดดูทีนี้)
  4. Android Virtual Device (AVD) ไว้สร้าง emulator ไว้ในการรันเทส ถ้าไม่มี device จริง
  5. UIAutomatorviewer

Appium Desktop

เจ้าหน้าตาตัวนี้ Appium Desktop มีหน้าที่ง่ายๆเลยคือเป็น server ตัวกลางในการคุยกับ Application

โดยมันจะสร้าง server และ port นึงขึ้นมาเพื่อใช้เป็นตัวกลางที่ไว้ติดต่อ ถ้าในรูป 127.0.0.1:4723 โดย port นี้จะเป็นตัวที่ระบุใน desired_caps เพื่อส่งไปให้ server ว่าเราจะใช้อะไรบ้างๆ

เราแค่ไปตั้ง Application Path ให้ชี้ไปที่ APK ที่เราต้องการจะเทสเท่านั้น แล้วก็กดรัน! …. monkey can do มากๆ

Android Virtual Device (AVD)

อุปกรณ์หลักอีกตัวคือในบางกรณีที่เราไม่มี real device ในการ test เราก็สามารถใช้ emulator ในการทํางานแทนได้ โดยการไปตั้งค่าสร้าง Android Virtual Device ขึ้นมาเองจาก SDK

หน้าตายังงี้บน windows โดยมันจะสามารถทํางานได้แบบเดียวกับมือถือของจริงเลย เพียงแต่จะช้ากว่าหลายเท่าตัว 5555+

Python Client

โดยปกติแล้ว appium จะใช้ Java เป็นภาษาหลักในการเขียน code แต่เนื่องจาก Appium มองตรงนี้เป็นหลักในการออกแบบด้วยก็เลยเขียน Client ออกมาให้ใช้เยอแยะเลยอย่าง Python Client  เป็นต้น

หลังจากนั้นเราก็แค่ทําเหมือนเวลาเขียน test ทั่วไปคือ

  • setUp
  • tearDown
  • test case

นั่นเอง….โดยประโยชน์ของการใช้ python แบบนี้ก็คือเรื่องของการ access element ต่างๆของ Mobile Application มันจะเข้าถึงได้ดีกว่า การใช้ 3party อย่าง Appium Robot Framework ที่เป็นของ 3party

ทีนี้หลังจาก install ด้วยคําสั่งพวกนี้เสร็จ


pip install Appium-Python-Client

pip install pytest

เราก็จะใช้ pytest ในการทํา test runner กับ python client ที่เราเขียนได้เลย (API ดูที่นี้)

Noted: การเขียนสําหรับทํางานแบบ ios และ android แตกต่างกันนิดหน่อย แต่ไม่ใช่ปัญหาใหญ่

แต่จริงๆแล้วเราสามารถเขียน Robot Framework กับ Appium Library ได้ด้วยน่ะ โดยใช้จาก library ที่นี้

UI Automator viewer

สิ่งสําคัญเลยในการจัดการกับ Application ที่มีคือเจ้า UI Automator viewer เนี่ยแหละ

มันมีไว้สําหรับหา ID เพื่อเอามาใช้เป็น Locator ในการจัดการ automate application หาได้ทั้ง

  • Native App
  • Web View
  • Hybrid App

หน้าตาของมันจะเป็นแบบข้างล่างเนี่ยแหละ

PATH ที่ใช้เปิดจะอยู่ที่ C:\Users\<Current User>\AppData\Local\Android\sdk\tools

Noted: หลักๆที่ใช้คือการเลือก ID ของ NATIVE ขึ้นมาเพื่อเป็น Locator แต่ถ้าเป็นแบบ WebView มันจะไม่สามารถดึงขึ้นมาได้ ต้องใช้ chrome debugging tool ในการ debug

สรุป

หลักๆแล้วการทํา automation test ด้วย appium ไม่ใช่เรื่องยากเลย แต่การตั้งค่าเครื่องและระบบต่างๆใช้เวลานิดหน่อยๆ ส่วนใหญ่ข้อมูลก็เตรียมไว้หมดแล้วด้วย API ต่างๆ ทีเหลือคือลองเขียนจริงๆจังๆแค่นี้นเอง

เดี๋ยวครั้งหน้าจะเขียนและเอา code มาลองเล่นกันครับ

ลองเขียนดูครับ แล้วจะรู้ว่า Automation เป็นเรื่องสนุก!!!

Leave a Reply

avatar

This site uses Akismet to reduce spam. Learn how your comment data is processed.