Android device ที่ใช้ได้บน Firebase Test Lab มีกี่รุ่นกันนะ?

Android Feb 21, 2025

ในฐานะของ mobile developer มองว่าการเทสเป็นสิ่งสำคัญ และการเทสมีหลายวิธีเช่นกัน เพื่อให้แอพของเราทำงานได้อย่างราบรื่น

อีกหนึ่งในวิธีการเทสคือการใช้ Firebase Test Lab ซึ่งคุณเองอาจจะสงสัยว่า มี device ไหนที่เราสามารถใช้เทสได้บ้างนะ ทั้ง iOS และ Android แล้วเราจะ list ข้อมูลของ device มาเก็บไว้ยังไงดีนะ

Firebase Test Lab คืออะไร?

เราเองก็ไม่แน่ใจว่ามีใครใช้ Firebase Test Lab อยู่ไหมนะ?

Firebase Test Lab เป็น feature ที่ให้เราเทสแอพของเรา ผ่านเครื่องที่อยู่บน cloud ซึ่งมันอยู่ใน Google data center นั่นแหละ และเขามีเครื่องหลากหลายมาก ๆ ทั้งเครื่องจริง และเครื่อง visual

สามารถใช้ได้ทั้ง iOS และ Android เลย อีกทั้งยังสามารถเชื่อมต่อกับ Firebase Console, Android Studio และ gcloud CLI อีกด้วย แล้วเอามาใช้กับระบบ CI (Continuous Integration) ได้ด้วย

เอ้ออีกข้อดีแน่ ๆ เราไม่ต้องไปทำ device farm เองให้เสียค่าใช้จ่าย และคอยลุ้นว่าเครื่องจะแบตบวมเมื่อไหร่อีกด้วยนะ

ประเภทของการเทสบน Firebase Test Lab แบบคร่าว ๆ

อ่ะแน่นอนแบ่งเป็น iOS และ Android

Android

  • Instrumentation tests: ใช้ได้กับ Espresso หรือ UI Automator
  • Robo test: ให้บอทมาจิ้ม ๆ แอพ เพื่อสำรวจและทดสอบแอพของเรา
  • Robo script: บอทจิ้มเองไม่แม่น งั้นเขียน script ในการเทส ซึ่งยากตรงนี้แหละ ทำยังไง ช่วยบอกที
  • Game Loop test: สำหรับเทสแอพเกมส์

iOS

จะมี Robo test, Robo script และ Game Loop test เหมือนกันกับ Android เลย จะต่างนิดหน่อยที่

  • XCTest: ตัวนี้ของ iOS เท่าที่อ่าน document เขาสามารถทำได้หลายอย่างมาก อย่าง unit test, performance test, UI test ซึ่งเราเป็น Android Developer จึงไม่แน่ใจในการใช้งานตรงนี้

ปล. ระยะเวลาการเทสสามารถรันเทสบน physical device ได้ 45 นาที และบน virtual device ได้ 60 นาที

Process วิธีการใช้งาน Firebase Test Lab

สามารถใช้งานได้ในฝั่งของ iOS และ Android นะ

ถ้าใช้ผ่าน Firebase Console ของตัว Firebase Test Lab จะเป็นการประมาณนี้

  1. เลือกประเภทการเทส และ OS ที่ต้องการ
  2. แต่ละประเภทก็เตรียมต่างกัน เช่น
  • Instrumentation Test (Android): upload APK หรือ AAB สำหรับตัวแอพ และสำหรับเทส
  • Robo (Android): upload APK หรือ AAB เพื่อทำ Robo Test และอัพ Robo script ถ้าอยากเทสแบบ Robo script
  • XCTest (iOS): upload XCTest package ที่เป็น .zip พร้อมระบุ Xcode version
  • Robo (IOS): upload IPA เพื่อทำ Robo Test และอัพ Robo script ถ้าอยากเทสแบบ Robo script ในส่วนนี้ยังเป็น beta อยู่
  1. เลือกเครื่องที่เราต้องการ
  2. รอเวลา

ทีงี้ตอนเลือกเครื่องเนี่ย ฝั่ง Android มีเครื่องให้เลือกเยอะมาก เลือกอะไรแบบไหนดีน้า เยอะแยะไปหมด และถ้าอยากดูทั้งหมดก่อนตัดสินใจล่ะ!

ถึงเวลามา list device ที่มีใน Firebase Test Lab กัน

ก่อนอื่นเลยติดตั้ง gcloud CLI กันก่อน

นอกจากเราจะใช้ Firebase Test Lab ผ่าน Firebase console แล้ว เรายังสามารถใช้ผ่าน gcloud CLI ได้อีกด้วยนะ (ถ้า Android อีกวิธีใช้ผ่าน Android Studio ได้ด้วย) และเราดู device ทั้งหมดได้ผ่าน gcloud CLI นี่แหละ

ก่อนอื่นมา setup กันก่อน โดยการ download Google Cloud SDK ซึ่งเครื่อง mac น่าจะลง Python ให้แบบ default ก็มา check Python version ก่อนว่าตรงกับที่ gcloud CLI support ไหม จากนั้น download ตัว package มาติดตั้ง แล้ว extract ออกมาเพื่อ install script

จากนั้นมา init กัน

gcloud init

และ login ให้เรียบร้อย

gcloud auth login

เมื่อ setup อะไรเรียบร้อยแล้ว มาค้นหา device ใน Firebase Test Lab ทั้งหมดที่ใช้งานได้กัน

สำหรับ Android

gcloud firebase test android models list

ถ้าอยาก save เก็บก็ต่อท้ายไปแบบนี้

gcloud firebase test android models list > android.text

ในตอนนี้ Android device บน Firebase Test Lab มีจำนวนทั้งสิ้น 93 รุ่น โดยแบ่งเป็น physical device จำนวน 77 รุ่น และ virtual จำนวน 16 รุ่นด้วยกัน สามารถเข้ามาดูได้ที่นี่เลย

Device Firebase Test Lab
https://docs.google.com/spreadsheets/d/1OwO9XYrndbCV3dfuwSs957u4_BcKMmLW2x3WYOYfw28/edit?usp=sharing

และยังมีรุ่นที่กำลังจะจากไป สามารถดูในนี้ได้

Available devices in Test Lab | Firebase Test Lab
https://firebase.google.com/docs/test-lab/android/available-testing-devices?hl=en&authuser=0#deprecated

ดูความจุของแต่ละเครื่องด้วย command นี้

gcloud firebase test android list-device-capacities

และดูรายละเอียดของแต่ละ device ได้ด้วย

gcloud firebase test android models describe {MODEL_ID}

เช่น อยากดู Galaxy S22 ก็ดู MODEL_ID ซึ่งมันคือ r0q

gcloud firebase test android models describe r0q

และสำหรับ iOS

gcloud firebase test ios models list

ก็ตามนี้

ต่าง device จาก Android Device Streaming ยังไง?

ตัว Android Device Streaming เป็นบริการที่เป็น sub ของ Firebase Test Lab อีกทีนึง เป็นการ remote เข้าไปใช้ device จริงจาก Google's secure data centers เช่นกัน ต่างจาก Firebase Test Lab ปกติที่เราทำอะไรกับเครื่องไม่ได้ คนทำคือบอท

โดยรวมคือ แบรนด์อาจจะน้อยกว่าตัวปกติ และรุ่นแบบ Fold เนี่ยยย ไม่มีใน Firebase Test Lab ปกติหรอกนะ แล้ว Galaxy รุ่นล่าสุดคือ S24 เลยน้า

เกี่ยวกับ Android Device Streaming

อยากเทสแอพบน Foldable แต่ไม่มีเครื่องจริง ทำยังไงได้บ้าง?
ช่วงนี้เราจะเห็นหลาย ๆ เจ้าออกมือถือ Foldable กัน หลัก ๆ เราจะเห็น Samsung เนอะ แต่ราคาแรงมาก แล้วรุ่นนี้ไม่มีในเครื่องเทสทีมด้วย ซื้อเองก็แพง แล้วมีวิธีอื่นไหมนะ?
https://www.mikkipastel.com/foldable-phone-emulator-firebase-android-device-streaming/

ถ้าอยากเอา Firebase Test Lab ไปทำอะไรเพิ่ม อ่านต่อได้ที่บล็อกพี่เอกเลย

มาสร้าง CI บน Android โดยใช้ GitHub Actions เพื่อทำ UI Test ด้วย Firebase Test Lab แบบเท่ ๆ กัน
เพราะในโลกของการพัฒนาซอฟต์แวร์ที่ไม่ได้พัฒนาขึ้นมาจากโค้ดของคนเพียงคนเดียวนั้นมีโอกาสเกิดข้อผิดพลาดได้อยู่เสมอ…
https://medium.com/firebasethailand/build-android-ci-with-github-actions-and-firebase-test-labs-cf172aee192d

ทั้งหมดก็จะประมาณนี้เลย


ติดตามข่าวสารตามช่องทางต่าง ๆ และทุกช่องทางโดเนทกันไว้ที่นี่เลย แนะนำให้ใช้ tipme เน้อ ผ่าน promptpay ได้เต็มไม่หักจ้า

ติดตามข่าวสารแบบไว ๆ มาที่ Twitter เลย บางอย่างไม่มีในบล็อก และหน้าเพจนะ

Tags

Minseo Chayabanjonglerd

I am a full-time Android Developer and part-time contributor with developer community and web3 world, who believe people have hard skills and soft skills to up-skill to da moon.