การใช้แอปทดสอบตัวควบคุมสื่อ

แอปสื่อที่โต้ตอบด้วยเสียงกับ Google Assistant ในโทรศัพท์ Android, รถยนต์, ทีวี และหูฟังจะทำงานด้วย Android Media Session API และใช้การดําเนินการกับสื่อ วงจรการใช้สื่ออาจติดตามได้ยาก แม้แต่การเล่นจากคำขอการค้นหาง่ายๆ ก็มีขั้นตอนกลางๆ หลายขั้นตอนที่อาจเกิดข้อผิดพลาดได้ ดังที่แสดงในไทม์ไลน์แบบง่ายต่อไปนี้

วงจรการใช้สื่อ

รูปที่ 1 วงจรการใช้สื่อ

แอปทดสอบตัวควบคุมสื่อ (MCT) ช่วยให้คุณทดสอบความซับซ้อนของการเล่นสื่อใน Android และช่วยยืนยันการติดตั้งใช้งานเซสชันสื่อ

แอปทดสอบตัวควบคุมสื่อมี 2 เวอร์ชัน ได้แก่

  • แอปไคลเอ็นต์ติดตั้งใช้งานบน MediaControllerCompat รุ่นเดิม ซึ่งจะช่วยให้ทดสอบแอปเซสชันสื่อที่สร้างขึ้นบนMediaSessionCompatเดิมหรือ Media3 MediaSession ได้เมื่อแอปภายนอกเข้าถึงผ่าน MediaControllerCompat เดิม ดูซอร์สโค้ดของเวอร์ชันเดิมใน GitHub
  • แอปไคลเอ็นต์ติดตั้งใช้งานบน Media3 MediaController เวอร์ชันล่าสุด ซึ่งจะช่วยให้ทดสอบแอปเซสชันสื่อที่สร้างขึ้นบนMediaSessionCompatเดิมหรือ Media3 MediaSession ได้เมื่อแอปภายนอกเข้าถึงผ่าน Media3 MediaController ดูซอร์สโค้ดของเวอร์ชัน Media3 ได้ใน GitHub

MCT จะแสดงข้อมูลเกี่ยวกับMediaControllerของแอป เช่น PlaybackStateและข้อมูลเมตา รวมถึงสามารถใช้เพื่อทดสอบการควบคุมสื่อระหว่างแอป MCT ยังมีเฟรมเวิร์กการทดสอบการยืนยันที่ช่วยให้คุณทำการทดสอบ QA แบบอัตโนมัติได้

หากต้องการใช้ MCT แอปของคุณต้องมีบริการเบราว์เซอร์สื่อ และคุณต้องอนุญาตให้ MCT เชื่อมต่อกับบริการดังกล่าว ดูข้อมูลเพิ่มเติมที่หัวข้อการสร้างบริการเบราว์เซอร์สื่อ

การเริ่ม MCT

หน้าการเปิดตัว MCT
รูปที่ 2 หน้าการเปิดตัว MCT

เมื่อเปิด MCT คุณจะเห็นรายการ 2 รายการ ได้แก่

  • MediaSession ที่ใช้งานอยู่ - รายการนี้จะว่างเปล่าเมื่อคุณเปิด MCT เป็นครั้งแรก และคุณจะเห็นข้อความว่า "ไม่พบแอปสื่อ การแจ้งเตือน ต้องมีสิทธิ์ของผู้ฟังเพื่อสแกนหาเซสชันสื่อที่ใช้งานอยู่" คลิกการตั้งค่าเพื่อไปที่หน้าจอสิทธิ์และเปิดใช้สิทธิ์สําหรับ MCT
  • การใช้งาน MediaBrowserService - รายการนี้แสดงแอปที่ใช้บริการ Media Browser หากคุณใช้บริการเบราว์เซอร์สื่อ แอปของคุณจะปรากฏในรายการนี้ แต่คุณจะใช้ MCT ได้ก็ต่อเมื่อกําหนดค่าแอปให้ยอมรับการเชื่อมต่อทั้งหมดหรือเพิ่ม MCT ลงในรายการที่อนุญาต ดูข้อมูลเพิ่มเติมที่การควบคุมการเชื่อมต่อไคลเอ็นต์ด้วย onGetRoot()

การทดสอบแอปโทรศัพท์ด้วยตนเอง

หากคุณอนุญาตให้ MCT เชื่อมต่อกับบริการเรียกดูสื่อของแอป แอปของคุณจะปรากฏในรายการการใช้งานบริการเรียกดูสื่อ ค้นหาแอปดังกล่าวแล้วคลิกควบคุมเพื่อเริ่มแอปในเบื้องหลัง

มิเช่นนั้น คุณต้องเริ่มแอปด้วยตนเองในเบื้องหลังก่อน จากนั้นคลิกควบคุมเมื่อแอปปรากฏในรายการเซสชันสื่อที่ใช้งานอยู่

การทดสอบการเตรียมตัวและเล่น

เมื่อ MCT เริ่มควบคุมแอป ระบบจะแสดงข้อมูลเมตาของเซสชันปัจจุบันของแอป ซึ่งได้แก่ สื่อที่เลือกอยู่ในปัจจุบันและการดําเนินการที่เซสชันพร้อมที่จะจัดการ

หน้าควบคุม
รูปที่ 3 หน้าควบคุม

ด้านบนของหน้าการควบคุม MCT มีเมนูแบบเลื่อนลงที่คุณสามารถเลือกค้นหา URI รหัสสื่อ หรือไม่มี พร้อมด้วยช่องข้อความเพื่อระบุข้อมูลอินพุตที่เชื่อมโยงกับ Search, URI หรือรหัสสื่อ หากคุณเลือกตัวเลือกใดตัวเลือกหนึ่ง

ปุ่มเตรียมและเล่นใต้ช่องข้อความจะเรียกใช้การดำเนินการที่เหมาะสม (onPrepare(), onPrepareFromSearch(), onPrepareFromUri(), onPrepareFromMediaId(), onPlay(), onPlayFromSearch(), onPlayFromUri(), onPlayFromMediaId()) โดยขึ้นอยู่กับการดำเนินการที่คุณเลือก

การทดสอบโฟกัสเสียง

แอปสื่อที่ทำงานได้อย่างถูกต้องควรจัดการโฟกัสเสียงได้ คุณสามารถทดสอบโฟกัสเสียงได้โดยเปิดแอปเสียงอื่นควบคู่ไปกับแอปของคุณ หน้าการควบคุม MCT จะมีปุ่มที่ขอและยกเลิกโฟกัสเสียง

หากต้องการทดสอบโฟกัสเสียง ให้ทำตามขั้นตอนต่อไปนี้

  1. ใช้เมนูแบบเลื่อนลงโฟกัสเสียงเพื่อเลือกคำแนะนำระยะเวลา 1 ใน 3 แบบ AUDIOFOCUS_GAIN, AUDIOFOCUS_GAIN_TRANSIENT หรือ AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
  2. กดปุ่มเพื่อขอโฟกัส
  3. กดปุ่มอีกครั้งเพื่อยกเลิกโฟกัส

การทดสอบตัวควบคุมการนำส่ง

การทดสอบตัวควบคุมการนำส่ง
รูปที่ 4 การทดสอบการควบคุมการขนส่ง

ปัดไปทางซ้ายเพื่อแสดงมุมมอง UI ของ MCT มุมมองนี้มีปุ่มควบคุมการนําทางของโปรแกรมควบคุมสื่อมาตรฐาน และแสดงรูปภาพและข้อมูลโปรแกรมของเซสชัน ปุ่มขนส่งที่ปิดใช้จะมีวงกลมล้อมรอบเป็นสีส้ม ส่วนรายการอื่นๆ ทั้งหมดใช้งานได้

ทดสอบโปรแกรมเล่นโดยใช้ปุ่มควบคุมการนําทาง สถานะของปุ่มการนําทางควรเปลี่ยนแปลงตามที่คาดไว้ เช่น เมื่อคุณกดปุ่ม "เล่น" ปุ่มดังกล่าวควรปิดใช้ และปุ่ม "หยุดชั่วคราว" และ "หยุด" ควรเปิดใช้

ปัดไปทางซ้ายอีกครั้งเพื่อดูมุมมองที่แสดงการดำเนินการที่ไม่บังคับ การดำเนินการแต่ละรายการจะมีตัวควบคุมที่แสดงสถานะว่าการดำเนินการนั้นทำงานอยู่หรือไม่ หากเปิดใช้งานอยู่ คุณจะดำเนินการได้โดยคลิก

หากเชื่อมต่อจากรายการแอปที่มีบริการเบราว์เซอร์สื่อ คุณสามารถปัดไปทางซ้ายอีก 2 ครั้งเพื่อดูมุมมองที่ให้คุณเลื่อนขึ้นและลงตามลําดับชั้นของเนื้อหาในแอป หรือค้นหาในลําดับชั้นเนื้อหา

การทดสอบแอปวิดีโอด้วยตนเอง

ใช้โหมดแยกหน้าจอเพื่อทดสอบตัวควบคุมแอปวิดีโอ ก่อนอื่น ให้เปิดแอปวิดีโอในหน้าต่างหนึ่ง จากนั้นเปิด MCT ในโหมดแยกหน้าจอ

การทดสอบการยืนยันที่ทำงานอยู่

เฟรมเวิร์กการทดสอบการยืนยันมีตัวเลือกการทดสอบแบบคลิกเดียวที่คุณเรียกใช้ได้เพื่อให้แน่ใจว่าแอปสื่อของคุณตอบสนองต่อคำขอเล่นอย่างถูกต้อง

การทดสอบแอปโทรศัพท์

ปุ่มทดสอบ
รูปที่ 5 ปุ่มทดสอบ

หากต้องการเข้าถึงการทดสอบการยืนยัน ให้คลิกปุ่มทดสอบข้างแอปสื่อ

สถานะ MCT

สถานะการควบคุมสื่อ
รูปที่ 6 สถานะการควบคุมสื่อ

มุมมองถัดไปจะแสดงข้อมูลโดยละเอียดเกี่ยวกับ MediaController ของ MCT เช่น PlaybackState, ข้อมูลเมตา และคิว มีปุ่ม 2 ปุ่มที่ด้านขวาบนของแถบเครื่องมือ ปุ่มทางด้านซ้ายจะสลับระหว่างบันทึกที่แยกวิเคราะห์ได้และบันทึกที่จัดรูปแบบ ปุ่มทางด้านขวาจะรีเฟรชมุมมองเพื่อแสดงข้อมูลล่าสุด

การเลือกการทดสอบ

หน้าการเลือกการทดสอบ
รูปที่ 7 หน้าการเลือกการทดสอบ

เมื่อปัดไปทางซ้าย คุณจะไปที่มุมมองการทดสอบการยืนยัน ซึ่งคุณจะเห็นรายการการทดสอบที่ใช้ได้ซึ่งเลื่อนดูได้ หากการทดสอบใช้ข้อความค้นหา เช่น การทดสอบเล่นจากผลการค้นหาที่แสดงในรูปที่ 7 จะมีช่องข้อความสำหรับป้อนสตริงการค้นหา

MCT ประกอบด้วยการทดสอบการกระทําของสื่อต่อไปนี้ และจะมีการเพิ่มการทดสอบอื่นๆ ลงในโปรเจ็กต์อย่างต่อเนื่อง

  • เล่น
  • เล่นจากผลการค้นหา
  • เล่นจากรหัสสื่อ
  • เล่นจาก URI
  • หยุดชั่วคราว
  • หยุด
  • ข้ามไปยังรายการถัดไป
  • ข้ามไปยังรายการก่อนหน้า
  • ข้ามไปยังรายการในคิว
  • กรอไปยัง

ผลการทดสอบ

ผลการทดสอบที่สำเร็จ
รูปที่ 8 ผลการทดสอบที่สำเร็จ

พื้นที่ผลลัพธ์ที่ด้านล่างของมุมมองจะว่างเปล่าในตอนแรก ซึ่งจะแสดงผลลัพธ์เมื่อคุณทำการทดสอบ เช่น หากต้องการเรียกใช้การทดสอบการเล่นจากการค้นหา ให้ป้อนข้อความค้นหาในช่องข้อความ แล้วคลิกเรียกใช้การทดสอบ ภาพหน้าจอต่อไปนี้แสดงผลการทดสอบที่ประสบความสําเร็จ

การทดสอบแอป Android TV

เมื่อเปิด MCT บน Android TV คุณจะเห็นรายการแอปสื่อที่ติดตั้งไว้ โปรดทราบว่าแอปจะปรากฏในรายการนี้ก็ต่อเมื่อใช้บริการเบราว์เซอร์สื่อ

หน้าการเปิดตัว MCT บนทีวี

รูปที่ 9 หน้าเปิด MCT บนทีวี

การเลือกแอปจะนำคุณไปยังหน้าจอการทดสอบ ซึ่งจะแสดงรายการการทดสอบการยืนยันทางด้านขวา

หน้าการทดสอบการยืนยันบนทีวี

รูปที่ 10 หน้าการทดสอบการยืนยันบนทีวี

เมื่อทำการทดสอบ ด้านซ้ายของหน้าจอจะแสดงข้อมูลเกี่ยวกับ MediaController ที่เลือก ดูรายละเอียดเพิ่มเติมได้ในบันทึก MCT ใน Logcat

หน้าข้อมูลการทดสอบบนทีวี

รูปที่ 11 หน้าข้อมูลการทดสอบบนทีวี

การทดสอบที่ต้องใช้ข้อความค้นหาจะมีเครื่องหมายไอคอนแป้นพิมพ์ การคลิกการทดสอบรายการใดรายการหนึ่งจะเป็นการเปิดช่องป้อนข้อมูลสําหรับคําค้นหา คลิก Enter เพื่อเรียกใช้การทดสอบ

คุณยังใช้คำสั่ง adb เพื่อป้อนข้อความได้ง่ายขึ้นได้ด้วย โดยทำดังนี้

adb shell input text your-query

คุณสามารถใช้ "%s" เพื่อเพิ่มเว้นวรรคระหว่างคำได้ ตัวอย่างเช่น คำสั่งต่อไปนี้จะเพิ่มข้อความ "hello world" ลงในช่องป้อนข้อมูล

adb shell input text hello%sworld

การสร้างการทดสอบ

คุณสามารถส่งคำขอดึงข้อมูลพร้อมการทดสอบเพิ่มเติมที่คุณคิดว่ามีประโยชน์ หากต้องการดูวิธีสร้างการทดสอบใหม่ โปรดไปที่ MCT GitHub Wiki และดูวิธีการทดสอบการยืนยัน

โปรดอ่านวิธีการมีส่วนร่วม

แหล่งข้อมูลเพิ่มเติม

MCT มีไว้เพื่อใช้ร่วมกับแอปที่ใช้ Media API ดูตัวอย่างแอปดังกล่าวได้ใน Universal Android Music Player

เรายินดีรับการแก้ไขข้อบกพร่องและการปรับปรุงเสมอ โปรดดูวิธีการมีส่วนร่วม