כלי האימות של תוספי המצלמה מאפשר ליצרני מכשירים לוודא שספריית הספקים של יצרן הציוד המקורי (OEM) של תוספי המצלמה מיושמת בצורה נכונה. הכלי כולל בדיקות אימות אוטומטיות וידניות.
בדיקות אימות אוטומטיות: בדיקות שמאמתות שהממשק של ספריית הספק הוטמע בצורה נכונה. לדוגמה, אם
CaptureProcessor
נדרש לצילום תמונות, הבדיקות מאמתות ש-ImageCaptureExtenderImpl#getCaptureStages()
מחזיר את מופעיCaptureStage
הנדרשים לצילום התמונות.בדיקות אימות ידניות: בדיקות לאימות אפקטי התמונה ואיכות התצוגה המקדימה והתמונות שצולמו. לדוגמה, הבדיקות מאפשרות ליצרני מכשירים לאמת באופן ידני אם אפקט הריטוש של הפנים מוחל בצורה נכונה או אם עוצמת הבוקה מספיקה.
קוד המקור של כלי התיקוף הוא חלק מאפליקציית הבדיקה של התוספים במאגר Android Jetpack.
איך יוצרים את כלי האימות של תוספי המצלמה
כדי ליצור את כלי האימות של התוספים, פועלים לפי השלבים הבאים:
מורידים את קוד המקור של ספריית Android Jetpack. פרטים נוספים מופיעים בקטע Checking out the Code בקובץ ה-README של Android Jetpack.
יוצרים את קובץ ה-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
.
extensionstestapp
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb 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 +/-
- כפתור מתג להפעלה או להשבתה של התוסף
בתצוגה המקדימה, מוודאים שפונקציות הזום פנימה והחוצה, ההקשה למיקוד, מצבי הפלאש והחשיפה פועלות כמו שצריך.
אימות התוצאות של התמונה שצולמה
כדי לצלם את התמונה, מקישים על הלחצן צילום (הלחצן העגול) בפעילות צילום התמונה. תיפתח פעילות לאימות התמונה שבה מוצגת התמונה שצולמה.
איור 6. תמונה שצולמה עם אפקט בוקה
פעילות אימות התמונה כוללת את הפונקציות הבאות:
- כדי לשנות את גודל התמונה, עושים תנועת צביטה פנימה או החוצה
- מחליקים שמאלה או ימינה כדי להחליף בין התמונות שצולמו
- Recapture
- שמירת תמונה בתפריט
בודקים אם התמונה שצולמה נכונה ותואמת להגדרות הזום, המיקוד בהקשה, מצבי הפלאש והחשיפה (EV) שנקבעו בזמן צילום התמונה.
אם התוצאות שצולמו נכונות, מקישים על הלחצן PASS (סימן וי) בפינה השמאלית התחתונה. אם לא, מקישים על הלחצן נכשל (סימן קריאה) בפינה הימנית התחתונה.
צפייה בתוצאות הבדיקה
אחרי שהמערכת מאמתת את מצב התוסף כהצלחה או ככישלון, פריט הרשימה של מצב התוסף מציג צבע רקע ומחוון שונים. בתצוגת הרשימה של כל המצלמות, הפריטים מוצגים בצבעים הבאים:
- רקע לבן: המצלמה תומכת לפחות במצב הרחבה אחד, ומצבי ההרחבה הנתמכים לא מאומתים באופן מלא.
- רקע ירוק: המצלמה תומכת במצב הרחבה אחד לפחות. כל מצבי התוספים הנתמכים מאומתים, וכל התוצאות עוברות את האימות.
- רקע אדום: המצלמה תומכת לפחות במצב הרחבה אחד. כל מצבי התוסף הנתמכים מאומתים עם לפחות תוצאה אחת של מצב תוסף שנכשל.
- רקע אפור: התכונה הזו לא זמינה.
איור 7. צבעים שמציינים את תוצאות הבדיקה של מצלמות ומצבי צילום
פונקציות אחרות של כלי האימות
אחרי שכל הבדיקות מסתיימות, הפעילות ברשימת המצלמות מספקת את הפונקציות הבאות:
- ייצוא תוצאות הבדיקה: מייצא את תוצאות הבדיקה כקובץ CSV לתיקייה
Documents/ExtensionsValidation
. - איפוס: מחיקה של כל תוצאות הבדיקה שנשמרו במטמון.
- אפליקציית דוגמה לתוספים: מעבר למצב של אפליקציית דוגמה לתוספים
אחרי שמסיימים את הבדיקה, אפשר לייצא את התוצאות שלה. אם נמצאה בעיה וצריך לאמת מחדש גרסה חדשה של הטמעת ספריית הספק עם הפתרונות, צריך לאפס את תוצאות הבדיקה הקודמות ולהפעיל מחדש את כל מצבי התוסף הנתמכים בכל המצלמות כדי לוודא שהבעיות נפתרו.