คำถาม ถ้าต้องการใช้งาน Selenium Grid และ Appium
สำหรับการทดสอบแบบ distributed
หรือกระจายการทดสอบ mobile app ไปหลายเครื่อง
หรือ run อยู่ในเครื่องเดียวกันก็ได้
และเมื่อไปดูเอกสาร หรือ บทความต่าง ๆ แล้วทำตามไม่ได้
ดังนั้น จึงเขียนสรุปการติดตั้ง config และใช้งานแบบสั้น ๆ ไว้ดังนี้
เริ่มง่าย ๆ ก่อนคือ Selenium Grid ที่ใช้งานเป็น version อะไร ?
ในตอนนี้คือ Selenium Grid 4 จะมี component และ architecture ดังรูป
และ version ของ Appium ที่ใช้งานคือ 2.1
เพื่อช่วยให้เรารู้ก่อนว่า จะต้องอ่านเอกสารอะไรบ้าง ให้ถูกต้อง
ใน blog นี้จะใช้ version ล่าสุด โดยมีขั้นตอนดังนี้
ขั้นตอนที่ 1
สร้าง Appium server สำหรับ run mobile app ใน device ต่าง ๆ ด้วย driver
- ถ้า ios จะใช้ driver = xcuitest
- ถ้า android จะใช้ driver = UIAutomator2 หรือ Espresso
ตัวอย่างของ config
[gist id="834448e8d6560f5b69a0ed26ed51d48a" file="appium_android.yml"]ทำการ start appium server ดังนี้
[gist id="834448e8d6560f5b69a0ed26ed51d48a" file="1.txt"]ขั้นตอนที่ 2
ทำการ start SeleniumGrid :: Hub ขึ้นมา ดังนี้
[gist id="834448e8d6560f5b69a0ed26ed51d48a" file="2.txt"]ขั้นตอนที่ 3
ทำการ start Selenium Grid ด้วย node role
เพื่อสร้าง node สำหรับ Appium server ที่สร้างขึ้นมา และ register ไปยัง Hub ที่สร้างไว้
ทำการ start Node ดังนี้
[gist id="834448e8d6560f5b69a0ed26ed51d48a" file="3.txt"]จากนั้นเข้าไปที่หน้า UI ของ Selenium Grid ที่ http://localhost:4444/ui
จะแสดงข้อมูล Node ดังนี้
เพียงเท่านี้ก็สามารถ setup Selenium Grid และ Appium มาได้แล้ว
จากนั้นก็ส่ง request การทดสอบมายัง Hub
ก็จะส่ง request นั้นไปยัง Node ที่เหมาะสมต่อไป