แอปสื่อที่โต้ตอบกับ Google Assistant ในโทรศัพท์ Android ด้วยเสียง รถยนต์ ทีวี และหูฟังขับเคลื่อนโดย API เซสชันสื่อของ Android และใช้การดำเนินการสื่อ ติดตามวงจรการใช้สื่อได้ยาก เล่นแค่ง่ายๆ จากการค้นหา มีขั้นตอนระดับกลางมากมายที่เกิดข้อผิดพลาด ดังที่แสดงใน เส้นควบคุมเวลาแบบง่าย ได้แก่
การทดสอบตัวควบคุมสื่อ (MCT) ช่วยให้คุณสามารถทดสอบความซับซ้อนของการเล่นสื่อบน Android และช่วย ยืนยันการติดตั้งใช้งานเซสชันสื่อ
MCT จะแสดงข้อมูลเกี่ยวกับMediaController
ของแอป เช่น
PlaybackState
และข้อมูลเมตา และใช้เพื่อทดสอบการควบคุมสื่อภายในแอปได้
MCT ยังมีการทดสอบการยืนยัน
ของเฟรมเวิร์กที่
ทำให้การทดสอบ QA ทำงานได้โดยอัตโนมัติ
หากต้องการใช้ MCT แอปของคุณต้องมีบริการเบราว์เซอร์สื่อ และต้องอนุญาตให้ MCT เชื่อมต่อด้วย โปรดดู การสร้างบริการเบราว์เซอร์สื่อ เพื่อดูข้อมูลเพิ่มเติม
การเริ่มต้น MCT
![หน้าเปิดตัว MCT](https://developer.android.com/static/media/images/MCT/MCT-Launch-Screen.png?authuser=9&hl=th)
เมื่อคุณเปิดตัว MCT คุณจะเห็นรายการ 2 รายการต่อไปนี้
- Active MediaSessions - รายการนี้จะว่างเปล่าเมื่อเริ่มต้น MCT และคุณจะเห็นข้อความ "ไม่พบแอปสื่อ การแจ้งเตือน ต้องมีสิทธิ์ Listener เพื่อสแกนหาเซสชันสื่อที่ใช้งานอยู่" คลิกการตั้งค่าเพื่อ ให้ไปที่หน้าจอสิทธิ์และเปิดใช้สิทธิ์สำหรับ MCT
- MediaBrowserService Implementations - รายการนี้จะแสดงแอปที่ใช้บริการเบราว์เซอร์สื่อ หากคุณใช้บริการเบราว์เซอร์สื่อ แอปของคุณจะปรากฏในรายการนี้ แต่คุณจะใช้ MCT ได้ก็ต่อเมื่อกำหนดค่าแอปให้ยอมรับ เชื่อมต่อหรือใช้ MCT ในรายการที่อนุญาต โปรดดูการควบคุมการเชื่อมต่อไคลเอ็นต์ด้วย onGetRoot() เพื่อดูข้อมูลเพิ่มเติม
การทดสอบแอปโทรศัพท์ด้วยตนเอง
หากคุณอนุญาตให้ MCT เชื่อมต่อกับบริการเบราว์เซอร์สื่อของแอป แอปของคุณ จะปรากฏในรายการการใช้งานรายการบริการเบราว์เซอร์สื่อ หาที่นั่น แล้วคลิก Control เพื่อเริ่มแอปในเบื้องหลัง
ไม่เช่นนั้น คุณต้องเริ่มแอปด้วยตัวเองในเบื้องหลังก่อน จากนั้นคลิก ควบคุมเมื่อปรากฏในรายการเซสชันสื่อที่ใช้งานอยู่
เตรียมสอบและเล่น
เมื่อ MCT เริ่มควบคุมแอป ระบบจะแสดงเซสชันปัจจุบันของแอป ข้อมูลเมตา: สื่อที่เลือกในปัจจุบันและการทำงานที่มีเซสชันนั้นอยู่ เตรียมตัวรับมือ
![หน้าควบคุม](https://developer.android.com/static/media/images/MCT/audio-focus.png?authuser=9&hl=th)
ด้านบนของหน้าตัวควบคุม MCT มีเมนูแบบเลื่อนลงที่คุณสามารถเลือก Search, URI, Media ID หรือ None พร้อมด้วยช่องข้อความ เพื่อระบุข้อมูลอินพุตที่เชื่อมโยงกับการค้นหา, URI หรือรหัสสื่อหากคุณ โปรดเลือกตัวเลือกใดตัวเลือกหนึ่งดังกล่าว
ปุ่มเตรียมการและเล่นใต้ช่องข้อความจะดําเนินการ
การโทรที่เหมาะสม (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
onPlayFromMediaId()
) ขึ้นอยู่กับการทำงานที่คุณเลือก
กำลังทดสอบโฟกัสเสียง
แอปสื่อที่ทำงานที่ดีควรสามารถจัดการเสียง โฟกัส คุณสามารถทดสอบโฟกัสเสียงได้โดย ที่ใช้งานแอปเสียงอีกแอปหนึ่งควบคู่ไปกับแอปของคุณ หน้าการควบคุม MCT ประกอบด้วย ปุ่มที่ขอและปล่อยโฟกัสเสียง
หากต้องการทดสอบโฟกัสเสียง ให้ทำตามขั้นตอนต่อไปนี้
- ใช้เมนูแบบเลื่อนลงโฟกัสเสียงเพื่อเลือกคำใบ้ระยะเวลา 1 ใน 3 แบบ
AUDIOFOCUS_GAIN
,AUDIOFOCUS_GAIN_TRANSIENT
หรือAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
- กดปุ่มเพื่อขอโฟกัส
- กดปุ่มอีกครั้งเพื่อปล่อยโฟกัส
การทดสอบตัวควบคุมการรับส่งข้อมูล
![การทดสอบการควบคุมการรับส่งข้อมูล](https://developer.android.com/static/media/images/MCT/MCT-Controller-Screen.png?authuser=9&hl=th)
ปัดไปทางซ้ายเพื่อแสดงมุมมอง UI ของ MCT มุมมองนี้ มีปุ่มส่งตัวควบคุมสื่อมาตรฐานและแสดง รูปภาพและข้อมูลของโปรแกรม ปุ่มส่งที่ปิดใช้งานจะมีวงกลมอยู่ในวงกลม สีส้ม รายการอื่นๆ ทั้งหมดทำงานอยู่
ทดสอบโปรแกรมเล่นโดยใช้ปุ่มส่ง สถานะของปุ่มการส่ง ควรเปลี่ยนตามที่คาดไว้ เช่น เมื่อกดปุ่ม "เล่น" ควรถูกปิดใช้งาน และปุ่ม "หยุดชั่วคราว" และ "หยุด" จะใช้งานได้
ปัดไปทางซ้ายอีกครั้งเพื่อดูมุมมองที่แสดงการดำเนินการที่ไม่บังคับ การดำเนินการแต่ละรายการ จะมีตัวควบคุมที่บอกว่ารายการดังกล่าวทำงานอยู่หรือไม่ หากทำงานอยู่ คุณสามารถ ดำเนินการโดยคลิกที่รายการนั้น
หากคุณเชื่อมต่อจากรายการแอปที่มีบริการเบราว์เซอร์สื่อ คุณจะทำสิ่งต่อไปนี้ได้ เลื่อนไปทางซ้ายอีก 2 ครั้งเพื่อดูมุมมองที่ช่วยให้คุณเลื่อนเนื้อหาแอปขึ้นและลง หรือค้นหาลำดับชั้นเนื้อหา
การทดสอบแอปวิดีโอด้วยตนเอง
ใช้โหมดแยกหน้าจอเพื่อทดสอบตัวควบคุมแอปวิดีโอ ก่อนอื่น ให้เปิดแอปวิดีโอ ในหน้าต่างเดียว แล้วเปิด MCT ในโหมดแยกหน้าจอ
กำลังทดสอบการยืนยัน
กรอบการทดสอบการยืนยันนำเสนอการทดสอบแบบคลิกเดียวที่คุณสามารถนำไปใช้ ตรวจสอบว่าแอปสื่อตอบสนองต่อคำขอเล่นอย่างถูกต้อง
การทดสอบแอปโทรศัพท์
![ปุ่มทดสอบ](https://developer.android.com/static/media/images/MCT/MCT-Test-Button.png?authuser=9&hl=th)
หากต้องการเข้าถึงการทดสอบการยืนยัน ให้คลิกปุ่มทดสอบข้างสื่อของคุณ แอป
รัฐ MCT
![สถานะการควบคุมสื่อ](https://developer.android.com/static/media/images/MCT/MCT-Testing-Info-Screen.png?authuser=9&hl=th)
มุมมองถัดไปจะแสดงข้อมูลโดยละเอียดเกี่ยวกับ MediaController
ของ MCT
เช่น PlaybackState
ข้อมูลเมตา และคิว มี 2 ปุ่ม
ที่ด้านขวาบนของแถบเครื่องมือ ปุ่มทางด้านซ้ายจะสลับระหว่าง "แยกวิเคราะห์ได้"
และจัดรูปแบบบันทึกแล้ว ปุ่มทางด้านขวาจะรีเฟรชมุมมองเพื่อแสดง
ข้อมูลที่เป็นปัจจุบันที่สุด
การเลือกการทดสอบ
![หน้าการเลือกทดสอบ](https://developer.android.com/static/media/images/MCT/MCT-Testing-Verification-Screen.png?authuser=9&hl=th)
การเลื่อนไปทางซ้ายจะเข้าสู่มุมมองการทดสอบการยืนยัน ซึ่งคุณสามารถ ดูรายการการทดสอบที่มีอยู่ซึ่งเลื่อนได้ หากการทดสอบใช้คำค้นหา เช่น เล่นจากการทดสอบการค้นหาที่แสดงในรูปที่ 7 มี ช่องข้อความเพื่อป้อนสตริงการค้นหา
MCT มีการทดสอบสำหรับการใช้สื่อต่อไปนี้ และการทดสอบอื่นๆ ได้แก่ เพิ่มลงในโครงการอย่างต่อเนื่อง:
- เล่น
- เล่นจากการค้นหา
- เล่นจากรหัสสื่อ
- เล่นจาก URI
- หยุดชั่วคราว
- หยุด
- ข้ามไปยังรายการถัดไป
- ข้ามไปยังเพลงก่อนหน้า
- ข้ามไปที่รายการคิว
- กรอวิดีโอไปที่
ผลการทดสอบ
![ผลการทดสอบที่สำเร็จ](https://developer.android.com/static/media/images/MCT/MCT-Testing-Success-Screen.png?authuser=9&hl=th)
พื้นที่ผลลัพธ์ที่ด้านล่างของมุมมองจะว่างเปล่าในตอนแรก โดยจะแสดง เมื่อทำการทดสอบ ตัวอย่างเช่น ในการทดสอบการเล่นจากการค้นหา ป้อนคำค้นหาลงในช่องข้อความ แล้วคลิกทำการทดสอบ ดังต่อไปนี้ ภาพหน้าจอที่แสดงผลการทดสอบ
การทดสอบแอป Android TV
เมื่อเปิด MCT ใน Android TV คุณจะเห็นรายการแอปสื่อที่ติดตั้งไว้ โปรดทราบว่าแอปจะปรากฏในรายการนี้หากใช้เบราว์เซอร์สื่อเท่านั้น service.
การเลือกแอปจะนำคุณไปยังหน้าจอการทดสอบ ซึ่งแสดงรายการการทดสอบการยืนยันทางด้านขวา
เมื่อคุณทำการทดสอบ ด้านซ้ายของหน้าจอจะแสดงข้อมูลเกี่ยวกับ MediaController ที่เลือก ดูรายละเอียดเพิ่มเติมได้ในบันทึก MCT ใน Logcat
การทดสอบที่ต้องมีคำค้นหาจะมีไอคอนแป้นพิมพ์กำกับอยู่ คลิกที่รายการใดรายการหนึ่ง การทดสอบเหล่านี้จะเปิดช่องป้อนข้อมูลสำหรับข้อความค้นหา คลิก Enter เพื่อทำการทดสอบ
คุณสามารถใช้คำสั่ง adb
เพื่อทำให้การป้อนข้อความง่ายขึ้นได้เช่นกัน
adb shell input text your-query
คุณสามารถใช้ "%s" เพื่อเว้นวรรคระหว่างคำ ตัวอย่างเช่น URL ต่อไปนี้ คำสั่งเพิ่มข้อความ "สวัสดีโลก" ลงในช่องป้อนข้อมูล
adb shell input text hello%sworld
การสร้างการทดสอบ
คุณสามารถส่งคำขอดึงข้อมูลพร้อมการทดสอบเพิ่มเติมที่คุณคิดว่ามีประโยชน์ หากต้องการเรียนรู้วิธีสร้างการทดสอบใหม่ โปรดไปที่ MCT GitHub Wiki และดู การทดสอบการยืนยัน วิธีการ
โปรดอ่านวิธีการสนับสนุน
แหล่งข้อมูลเพิ่มเติม
MCT มีไว้ใช้ร่วมกับแอปที่ใช้ API สื่อ โปรดดู โปรแกรมเล่นเพลง Android สากล ของตัวอย่างแอปดังกล่าว
เรายินดีรับการแก้ไขข้อบกพร่องและการปรับปรุงประสิทธิภาพเสมอ โปรดดู วิธีการสนับสนุน