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

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

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

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

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

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

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

การเริ่มต้น MCT

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

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

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

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

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

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

เตรียมสอบและเล่น

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

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

ด้านบนของหน้าตัวควบคุม MCT มีเมนูแบบเลื่อนลงที่คุณสามารถเลือก Search, URI, Media ID หรือ None พร้อมด้วยช่องข้อความ เพื่อระบุข้อมูลอินพุตที่เชื่อมโยงกับการค้นหา, 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 คุณจะเห็นรายการแอปสื่อที่ติดตั้งไว้ โปรดทราบว่าแอปจะปรากฏในรายการนี้หากใช้เบราว์เซอร์สื่อเท่านั้น service.

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

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

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

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

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

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

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

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

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

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

adb shell input text your-query

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

adb shell input text hello%sworld

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

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

โปรดอ่านวิธีการสนับสนุน

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

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

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