כלי האימות של תוספי המצלמה מאפשר ליצרני מכשירים לוודא שהספרייה Camera Extensions OEM vendor library מיושמת בצורה נכונה. הכלי כולל בדיקות אימות אוטומטיות וידניות.
בדיקות אימות אוטומטיות: בדיקות שמאמתות שהממשק של ספריית הספק הוטמע בצורה נכונה. לדוגמה, אם
CaptureProcessorנדרש לצילום תמונות, הבדיקות מוודאות ש-ImageCaptureExtenderImpl#getCaptureStages()מחזיר את המקרים הנדרשים שלCaptureStageלצילום התמונות.בדיקות אימות ידניות: בדיקת איכות התמונות שצולמו והתמונות בתצוגה המקדימה, והאפקטים שמוחלים על התמונות. לדוגמה, הבדיקות מאפשרות ליצרני מכשירים לבדוק באופן ידני אם אפקט הריטוש של הפנים מוחל בצורה נכונה או אם עוצמת הבוקה מספיקה.
קוד המקור של כלי התיקוף הוא חלק מאפליקציית הבדיקה של התוספים במאגר Android Jetpack.
איך יוצרים את כלי האימות של תוספי המצלמה
כדי ליצור את כלי האימות של התוספים, פועלים לפי השלבים הבאים:
מורידים את קוד המקור של ספריית Android Jetpack. פרטים נוספים מופיעים בקטע Checking out the Code במאמר Android Jetpack README.
יוצרים את קובץ ה-APK של
extensionstestapp. כך אפשר להריץ בדיקות אימות ידניות.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebugקובץ ה-APK מועבר לנתיב הבא:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apkיוצרים את קובץ ה-APK של
androidTest. קובץ ה-APK הזה מאפשר להריץ בדיקות אימות אוטומטיות.cd path/to/checkout/frameworks/support/./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTestקובץ ה-APK מועבר לנתיב הבא:
path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
הרצת בדיקות אימות אוטומטיות
כדי להריץ את בדיקות האימות האוטומטיות, צריך להתקין את קובצי ה-APK של extensionstestapp ושל androidTest.
extensionstestappAPKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTestAPKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
הפעלת כל הבדיקות האוטומטיות
אחרי שמתקינים את קובצי ה-APK, כדי להריץ את כל הבדיקות האוטומטיות ולאמת את ההטמעה של ספריית הספק, מריצים את הפקודה הבאה:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunnerאם כל הבדיקות עוברות, התוצאה OK מוחזרת. אחרת, דוח הבדיקה הסופי יציג כשלים במסוף אחרי שכל הבדיקות יסתיימו.
איור 1. תוצאה תקינה של בדיקות אוטומטיות
איור 2. תוצאת הבדיקות האוטומטיות היא כשלים
הרצת בדיקות אוטומטיות של מחלקה ספציפית
כדי להריץ בדיקות אוטומטיות של מחלקה ספציפית, מציינים את השם והנתיב של מחלקת היעד. בדוגמה הבאה אפשר לראות את הפקודה להרצת בדיקות עבור המחלקה ImageCaptureTest:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunnerהפעלת בדיקות אימות ידניות
הבדיקות של האימות הידני נמצאות באפליקציית הבדיקה של התוספים. אחרי שמתקינים את אפליקציית הבדיקה של התוספים ומפעילים אותה, מקישים על פריט התפריט בפינה השמאלית העליונה כדי לעבור למצב של כלי האימות.
אחרי המעבר למצב של כלי האימות, בדף הראשון מופיעות כל המצלמות עם היכולת REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. אם מצלמה לא תומכת באף מצב של תוסף, הפריט המתאים ברשימה יהיה אפור.
איור 3. מצב כלי האימות
מקישים על אחת המצלמות כדי לראות את מצבי התוסף לבדיקה. מצבי הרחבה שלא נתמכים על ידי המצלמה שנבחרה מוצגים באפור.
איור 4. מצבי תוסף שזמינים למצלמה
אימות התוצאות בתצוגה המקדימה
כדי לאמת את תוצאות התצוגה המקדימה, מתחילים בדיקה ידנית על ידי הקשה על מצב ההרחבה של המצלמה שנבחרה. לאחר מכן מוצגת תמונה של הפעילות שמכילה את התצוגה המקדימה.
איור 5. תמונת תצוגה מקדימה עם אפקט בוקה מופעל
פעילות צילום התמונה תומכת בפונקציות הבאות:
- התקרבות או התרחקות
- הקשה להתמקדות
- כפתור להחלפת מצבי פלאש
- EV +/-
- כפתור מתג להפעלה או להשבתה של התוסף
בתצוגה המקדימה, מוודאים שהפונקציות של הגדלה והקטנה, הקשה למיקוד, מצבי הפלאש והחשיפה (EV) פועלות כצפוי.
אימות התוצאות של התמונה שצולמה
כדי לצלם את התמונה, מקישים על הלחצן צילום (הלחצן העגול) בפעילות צילום התמונה. תיפתח פעילות לאימות התמונה שבה מוצגת התמונה שצולמה.
איור 6. תמונה שצולמה עם אפקט בוקה
פעילות האימות של התמונות כוללת את הפונקציות הבאות:
- פותחים או סוגרים את האצבעות כדי לשנות את גודל התמונה
- החלקה שמאלה או ימינה כדי להחליף בין התמונות שצולמו
- Recapture
- שמירת תמונה בתפריט
בודקים אם התמונה שצולמה נכונה ותואמת להגדרות של זום פנימה/החוצה, הקשה למיקוד, מצבי פלאש והגדרות EV +/- שהוגדרו בזמן צילום התמונה.
אם התוצאות שצולמו נכונות, מקישים על הלחצן PASS (סימן וי) בפינה השמאלית התחתונה. אם לא, מקישים על הלחצן FAIL (סימן קריאה) בפינה הימנית התחתונה.
צפייה בתוצאות הבדיקה
אחרי שהמערכת מאמתת את מצב התוסף כהצלחה או ככישלון, פריט הרשימה של מצב התוסף מציג צבע רקע ומחוון שונים. בתצוגת הרשימה של כל המצלמות, הפריטים מוצגים בצבעים הבאים:
- רקע לבן: המצלמה תומכת לפחות במצב הרחבה אחד, ומצבי ההרחבה הנתמכים לא מאומתים באופן מלא.
- רקע ירוק: המצלמה תומכת במצב הרחבה אחד לפחות. כל מצבי התוסף הנתמכים מאומתים וכל התוצאות עוברות את האימות.
- רקע אדום: המצלמה תומכת לפחות במצב הרחבה אחד. כל מצבי התוספים הנתמכים מאומתים עם לפחות תוצאה אחת של מצב תוסף שנכשל.
- רקע אפור: התכונה הזו לא זמינה.
איור 7. צבעים שמציינים את תוצאות הבדיקה של מצלמות ומצבי הרחבה
פונקציות אחרות של כלי האימות
אחרי שכל הבדיקות מסתיימות, הפעילות ברשימת המצלמות מספקת את הפונקציות הבאות:
- ייצוא תוצאות הבדיקה: מייצא את תוצאות הבדיקה כקובץ CSV לתיקייה
Documents/ExtensionsValidation. - איפוס: מחיקה של כל תוצאות הבדיקה שנשמרו במטמון.
- אפליקציה לדוגמה של תוספים: מעבר למצב של אפליקציה לדוגמה של תוספים.
אחרי שתסיימו את הבדיקה, תוכלו לייצא את תוצאות הבדיקה. אם נמצאה בעיה וצריך לאמת מחדש גרסה חדשה של הטמעת ספריית הספק עם הפתרונות, צריך לאפס את תוצאות הבדיקה הקודמות ולהפעיל מחדש את כל מצבי התוסף הנתמכים בכל המצלמות כדי לוודא שהבעיות נפתרו.