בדף הזה מוסבר איך להריץ את הבדיקות של הפעלת מדיה ב-CTS Verifier (CTS-V), שכלול ב-Android 17.
חבילת הבדיקות של הפעלת מדיה נמצאת במסגרת הבדיקה של CTS-V בקטע cts/apps/SecurePlaybackTestApp. היא מאמתת שהפעלת מדיה מאובטחת מציגה את הפריימים בצורה חלקה במסך המכשיר – בלי קפיצות ובלי השמטת פריימים.
חבילת הבדיקות של הפעלת מדיה בודקת את ממשקי ה-API הבאים:
android.media.MediaCodec#queueSecureInputBufferandroid.media.MediaDrm#getKeyRequestandroid.media.MediaDrm#provideKeyResponseandroid.media.MediaCrypto#MediaCrypto
חבילת הבדיקות של הפעלת מדיה מאמתת את הקודקים הבאים: AVC, HEVC, VP9 ו-AV1.
הגדרת סביבת הבדיקה
כדי להריץ בדיקות הפעלה מאובטחות, צריך להגדיר את הדברים הבאים:
- מכשיר שנבדק (DUT)
- מחשב מארח
- כלי ניתוח ההפעלה (PAT). (מומלץ לרכוש PAT מ-Tempo Manufacturing).
הגדרת המכשיר הנבדק
כדי להגדיר את המכשיר הנבדק, מבצעים את השלבים הבאים:
- מחברים את המכשיר הנבדק למחשב מארח באמצעות USB.
- נותנים הרשאות למארח לגשת למכשיר הנבדק דרך ADB.
- מתקינים את אפליקציית CTS-V (
CtsVerifier.apk) במכשיר. מידע נוסף זמין במאמר בנושא הרצת בדיקות CTS-V. - מחברים את המכשיר הנבדק לאינטרנט.
- מחברים את ה-PAT למארח.
- מניחים את ה-PAT כשהמכשיר הנבדק במצב אנכי, כך שהצד המרופד של ה-PAT יהיה שטוח על המסך והחץ הלבן של ה-PAT יצביע כלפי מעלה.
- מלפפים את שתי הרצועות סביב המכשיר הנבדק ומושכים את הכבל עם הקצה הלבן כדי להדק.
הגדרת המארח
כדי להגדיר את סביבת הבדיקה, מורידים את קובצי ההגדרה של PAT ומחלצים את התוכן לספרייה חדשה בשם pat-cts:
cd pat-cts/v2.4.0./setup.sh
הפקודה הזו מגדירה את ממשק שורת הפקודה של PAT ונכנסת לסביבה וירטואלית עם Python מותקן. אם היא לא נכנסת לסביבה הוירטואלית, מריצים את הפקודה:
source venv/bin/activateמומלץ לעדכן את ה-PAT כך שיתאים לגרסת הקושחה שכלולה בקובצי ההתקנה. כדי לבדוק את גרסת הקושחה, מריצים את הפקודה:
(venv) patctl --usb --info | grep "Firmware version"אם גרסת הקושחה נמוכה מ-2.4.0, צריך לעדכן את הקושחה. הרצה:
(venv) patctl --usb --update pat_fw_v2.4.0rc2.binכדי לבצע בדיקות CTS, צריך להתקין את מסגרת הבדיקה Mobly ואת snippet-uiautomator בסביבה הווירטואלית:
(venv) pip install mobly(venv) pip install snippet-uiautomator
לפני שמריצים את הבדיקות, צריך גם להגדיר משתנה סביבה שמזהה את המיקום של נכסי הבדיקה בזמן שהסביבה הווירטואלית פעילה. כדי לעשות זאת, מריצים את הפקודה:
(venv) cd SecurePlaybackTestApp(venv) source build/envsetup.sh
כדי להיכנס מחדש לסביבה, מריצים את הפקודה:
source pat-cts/v2.4.0/venv/bin/activateיצירת קובצי תצורה
כדי להגדיר את סביבת הבדיקה של Mobly, צריך ליצור את קובץ התצורה config.yml באמצעות מסגרת Mobly.
הקובץ הבא הוא קובץ config.yml לדוגמה. תבנית מסופקת בספרייה SecurePlaybackTestApp/.
TestBeds:
# A testbed where adb will find Android devices.
- Name: PlaybackAnalysisTestBed
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z # quotes are needed if serial id is entirely numeric
label: dut
TestParams:
video_scaling: 1.0 # from 0.0 to 1.0, used if the test video is too large to fit the Playback Analysis Tool
הרצת בדיקות
כדי להריץ את בדיקות הפעלת המדיה של CTS-V:
- בסביבה הווירטואלית של Python במחשב המארח, עוברים לספרייה
SecurePlaybackTestApp/. מריצים את הבדיקה:
python ./secure_playback_test.py -c config.ymlאחרי כ-10 שניות, סרטון יתחיל לפעול במכשיר.
מיישרים את החריצים ב-PAT עם חמשת העמודות השחורות והלבנות של הסרטון כמו שמוצג בתרשים הבא. מוודאים שה-PAT מיושר עם החץ שמצביע שמאלה ביחס לאוריינטציה של הסרטון.
איור 1. יישור נכון של PAT.
איור 2. הגדלה או הקטנה של PAT.
אחרי שמיישרים את ה-PAT, מלפפים את שני הכבלים סביב המכשיר ומותחים אותם באמצעות לשונית המשיכה שיוצאת מהצד השמאלי של ה-PAT. מוודאים שהיישור לא השתנה, ומיישרים מחדש אם צריך. כדי לעשות את זה, אפשר לנתק את המכשיר שנבדק מהמארח, אבל צריך לוודא שהוא מחובר מחדש לפני שממשיכים. מוודאים שה-PAT שטוח לגמרי על ה-DUT, כמו שמוצג באיור 4. מניחים את המכשיר במקום שבו לא ייגעו בו במשך כמה דקות, ומזינים
yכדי להמשיך בבדיקה. מוודאים שהמכשיר לא זז אחרי היישור.
איור 3. מבט מעל של PAT ו-DUT.
איור 4. PAT ו-DUT, מבט מהצד.
אם המכשיר עבר את הבדיקה, הכפתור Pass (עבר) מופעל. כדי לסמן שהמכשיר נבדק בהצלחה, לחצו על הכפתור הזה.