โดยปกติเมื่อเราใช้ Appium โดยการสตาร์ทจาก Terminal จะเป็นการใช้งานโดย Command line ล้วน แต่เจ้าตัว Inspector จะเป็น GUI ที่แสดงหน้าจอให้เราใช้งานง่ายมากยิ่งขึ้น โดยตัวโปรแกรมจะทำงานร่วมกับ Appium

นิยมนำมาใช้งานในการเทสแอพแบบ Automate หรือใช้เพื่อทดสอบว่าเราลงไลบรารี่สำเร็จไหม เพื่อต่อยอดลงโปรแกรมเทสอื่นอย่างเช่น Robot, Katalon, ... Appium Inspector จะแสดงข้อมูลของหน้าและ Element ต่างๆ บนหน้าจอ อีกทั้งยังสามารถควบคุมและโต้ตอบกับแอพได้

หน้าตา Appium Inspector

ก่อนเริ่มต้นต้องมี iOS Simulator ก่อนนะ ซึ่งมีอยู่ใน Xcode ต้องไปติดตั้งก่อน ตามบทความด้านล่าง

#1 Xcode
Xcode เป็นเครื่องมือฟรีที่ใช้เขียนแอพสำหรับผลิตภัณฑ์ Apple ไม่ว่าจะเป็น iPhone, iPad, Mac, Watch, ... โดยใช้ภาษา Objective-C และ Swift ในการพัฒนา การติดตั้ง เปิด App Store ในเครื่องแมคและค้นหา Xcode จากนั้นกดติดตั้ง เมื่อติดตั้งเสร็จแล้วตัวโปรแกรมจะแสดงหน้

ติดตั้ง Appium Inspector

เข้าที่เว็บไซต์ Appium Inspector releases

Releases · appium/appium-inspector
A GUI inspector for mobile apps and more, powered by a (separately installed) Appium server - appium/appium-inspector

ติดตั้งตามระบบที่คุณใช้งานอยู่ หากเป็น Mac ให้ดาวโหลดไฟล์ที่ลงท้าย .dmg

-arm64.dmg สำหรับ CPU ตระกูล M series

-x64 สำหรับ CPU ตระกูล Intel เลือกดาวโหลดให้ถูกด้วยนะ

เมื่อเปิด Appium Inspector ตัวระบบ Mac จะมองว่าเป็นไฟล์อันตราย ให้เราคลิกที่ปุ่ม Done ไปก่อน แล้วเราจะไปอนุญาตที่ Setting

ให้ไปที่หัวข้อ Privacy & Security เลื่อนเนื้อหาลงมาล่างสุด จะเห็นว่าระบบได้ Block ตัว Appium Inspector ไว้อยู่ ให้เราคลิก Open Anyway (เราอนุญาตแค่แอพ Appium Inspector เท่านั้นซึ่งหากเราเจอแอพที่เป็นอันตรายจริงๆ โดยที่เราตั้งใจและไม่ได้ตั้งใจที่จะติดตั้ง ระบบก็จะบล็อคอัตโนมัตให้เราทุกแอพ)

ติดตั้ง nvm

Appium Inspector อาศัย Appium ในการใช้งาน ซึ่งแพคเกจ appium อนุญาตให้เราติดตั้งผ่านตัวจัดการแพคเกจของ Node ซึ่งที่มีชื่อว่า npm (ตัวจัดการแพคเกจไม่ได้มีแค่ npm นะ ยังมีอีกหลายเจ้า อยู่ที่ว่าแพคเกจที่เราจะติดตั้งอนุญาตให้สามารถติดตั้งได้จากเจ้าไหนบ้าง)

แต่ แต่ๆ หากเราดาวโหลดตัวติดตั้ง Node จากเว็บไซต์ทางกลาง นางจะพยายามติดตั้งใน path ที่เป็นของระบบ

ตัวติดตั้ง Node ซึ่งมีแพคเกจ Node.js และ npm

ซึ่งมันก็ติดตั้งได้แหล่ะ แต่เวลาที่เราต้องการติดตั้งแพคเกจ Node อย่างเช่น appium หรือแพคเกจอะไรก็ตามแต่ จะติดสิทธิ์ระบบปฏิเสธการติดตั้งแพคเกจ ทำให้เรามักจะใช้ sudo นำหน้า command ใน Terminal อยู่เสมอ อย่างเช่น

sudo npm install appium

ดังนั้น nvm (Node version manager) จะมาช่วยจัดการในเรื่องนี้ โดยที่ nvm จะทำให้ Node และ npm อยู่ภายใต้มัน ซึ่งดูอาจจะไม่เกี่ยวกัน แต่มันก็สามารถช่วยได้ อีกทั้งยังสามารถติดตั้ง Node และ npm ได้หลายเวอร์ชั่นอีกด้วย

ขอแยกบทความติดตั้ง nvm ไปอีกบทความนึงนะ จิ้มไปที่นี่เลย

ติดตั้ง nvm (Node Version Manager)
nvm จะทำให้ Node และ npm อยู่ภายใต้มัน ซึ่งดูอาจจะไม่เกี่ยวกัน แต่มันก็สามารถช่วยได้ อีกทั้งยังสามารถติดตั้ง Node และ npm ได้หลายเวอร์ชั่นอีกด้วย เราสามารถติดตั้ง nvm ได้โดยการใช้ command line ใน Terminal ดังนี้ curl -o- https:

หรือหากเราใช้เครื่อง Mac เพียงคนเดียว เราสามารถเปลี่ยน owner ของโฟลเดอร์แพคเกจของ Node ได้ด้วยคำสั่ง

sudo chown -R ${whoami} "/Users/${whoami}/node_modules"
sudo chown -R ${whoami} "/Users/${whoami}/.npm"

ติดตั้ง Appium

สามารถใช้คำสั่ง

npm install -g appium

-g เป็น option ของคำสั่ง npm หมายถึงให้ติดตั้ง appium เป็น global ให้สามารถใช้งานได้ทุก User ในเครื่อง Mac

เมื่อติดตั้งสำเร็จ จะเห็นว่าเราสามารถใช้ command appuim ได้แล้ว ให้พักไว้ก่อนนะ

💡
ต้องเช็คให้มั่นใจว่า appium เป็นเวอร์ชั่น 2 ขึ้นไป ด้วยคำสั่ง
appium --version

ใช้งาน Appium Inspector

Appium Inspector จะใช้งานสำหรับเทสแอพ iOS ได้จะต้องผ่านตัว appium ใช่ไหม

ทีนี้ appium จะติดต่อกับ iOS Simulator ในเครื่อง Mac ได้ จำเป็นต้องติดตั้ง Driver XCUITest ก่อน โดยใช้คำสั่ง

appium driver install xcuitest

สตาร์ท appium server โดยใช้คำสั่ง

appium

กลับไปที่ Appuim Inspector เราต้องใส่ Capabilities ในรูปแบบ Json format ลงไปด้วย สามารถดู Capabilities ที้ใช้งานได้ที่เว็บไซต์ด้านล่าง

Session Capabilities - Appium Documentation
The Appium automation project documentation

แก้ไข Capabilities ด้วยการกดปุ่มรูปดินสอ

หากแก้ไขเสร็จแล้วให้กด Save และ Start Session ได้เลย

ปัญหาที่พบบ่อย

ปัญหา Appium รัน WebDriverAgent ไม่ได้

โดยปกติแล้ว Appium จะติดตั้งตัว WebDriverAgent ให้อัตโนมัติอยู่แล้ว แต่หากติดตั้งแล้วรันขึ้นมาไม่ได้ Appium จะลบเพื่อติดตั้งและรันใหม่

เราจะแก้โดยที่ไม่ให้ Appium ติดตั้ง WebDriverAgent เอง เราจะติดตั้งลงไปที่เครื่อง iOS Simulator เอง

ให้ลองหา command ใน logs ของ appium ดู ในขั้นตอนการ build คำสั่งจะคล้ายกับภาพด้านล่าง ให้ copy ไปรันอีก Terminal อีกหน้าต่างนึงดู

หากรันผ่าน WebDriverAgentRunner สำเร็จจะให้ url มา แต่ถ้าหากไม่สำเร็จ ทดลองรันใน Xcode ดูก่อน โดยไปที่ path ของโปรเจค WebDriverAgent

เอา url ไปใส่ Capabilities ใน Appium Inspector