feature-image-appium-101-for-beginner
feature-image-appium-101-for-beginner

โลกเราทุกวันนี้เติบโตเร็วขึ้นทุกวันๆ โดยเฉพาะแอพมือถือ ทุกคนต้องโฟกัสมือถือ จนมีหนังสือ เช่น Mobile First Design ออกมา หรือแม้แต่เทคนิค CSS แบบ Responsive design ที่รองรับ screen ที่แตกต่างกันออกไป

เรื่องของการ Developer ก็เรื่องนึง แต่เรื่องของการเขียน test ก็อีกเรื่องนึงเพราะโดยปกติแล้วในอดีตมันยุคของ Desktop website บลาๆ เราก็เลยมี Selenium มาใช้ในการทํา Automation สําหรับเว็ปโดยการยึดติดกับ Id ของ css ต่างๆ ทีนี้พอยุคของมือถือเราเลยได้ Framework ใหม่มาก็คือ Appium นั่นเอง

Appium คืออะไร?

Appium เป็น framework opensource ตัวนึงที่ไว้ทํา automation บน IOS และ android โดยไม่จํากัดรูปแบบของแอพว่าต้องเป็นแค่ Native,Hybrid หรือ Mobile Web Application เพราะมันใช้ Webdriver Protocal ในการจัดการคุยกับแอพ

Appium ดียังไง?

  1. Framework บางตัวการจะทํา automate ต้อง recompile application ใหม่
  2. Multiple Language มากๆในการจัดการ test กับ framework ตัวนี้ (มีเกือบทุกภาษาเลยแบบ Java,Python,etc… มีปลั๊กกับ Robot Framework ด้วยเป็น AppiumRobotframework)

“you’re testing the same app you’re shipping”

Appium Design?

ส่วนเบื้องหลังของ Appium ที่มันใช้เขียนบนหลายๆ OS ได้โดยใช้เครื่องมือด้านล่างต่อไปนี้

Appium ทํางานยังไง?

มันแบ่งออกเป็น 2 ตัวคือ

  1. Appium Server
  2. Appium Clients

ซึ่งเจ้า Appium Server กับ Clients จะมี session ระหว่างกันโดยการส่งผ่าน JSON object ที่ชื่อว่า “desired capabilities” เพื่อบอกให้ server ทําไรบ้างใช้ platform อะไรแบบนั้น

ส่วน Appium Clients เนี่ย มันมี Clients หลากหลายมากมาย เช่น Java, Ruby, Python, PHP, JavaScript, and C# ผ่าน WebDriver protocol

สรุป

Appium เป็น framework ที่น่าสนใจมากจริงๆในการเขียน automation test บนมือถือ เพราะมันสามารถลองรับได้ทุก platform และ appium clients เองก็มีหลากภาษามาก ทําให้เราไม่ต้องเรียนรู้อะไรใหม่ มีกระทั้ง integrate กับ robot framewok (แต่ไม่ใช่ของ official น่ะ ก็เลยทําให้ไม่ได้มีการ support keyword เยอะมากเท่าไร)

เดี๋ยวบทความหน้าจะเขียนเกี่ยวกับ Appium Android in Action ต่อ เพื่อที่จะได้เห็นว่าเขียนใช้งานจริงๆเป็นยังไง 🙂

Noted:

  • ถ้าเป็นการเขียน Selenium เราจะต้องหา Id ของ Div หรือ elements บนหน้าเว็ป เราก็จะ inspect เอา แต่ถ้าเป็น Appium Android เราจะใช้ tools ที่ชื่อว่า UI automatorviewer ในการไล่หา resources id ออกมา
    Android -> android-sdk -> tools -> uiautomatorviewer.bat
  • ถ้าเป็น Mobile Web Application เราสามารถเสียบมือถือเข้ากับ usb port แล้ว debug ผ่านหน้า chrome ได้เลยด้วย Chrome Remote Debuggin (chrome://inspect)
  • ก่อนจะเริ่ม setup enviroment ให้ Appium ทํางานได้ เราสามารถใช้ Appium Doctor ในการเช็ค Env. เราว่ามันสามารถทําระบบตามได้ที่ต้องการไหม? เช่น appium-doctor –android มันก็จะไล่เช็คให้ว่าก่อนเริ่มงาน เราขาดอะไรไปบ้าง

 

Leave a Reply

avatar

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