OmniLab ATS הוא כלי בדיקה שמפתחי Android ומהנדסי בדיקות יכולים להשתמש בו כדי להשתמש בממשק משתמש להרצת חבילות בדיקה רגילות של Android, כמו Android Compatibility Test Suite (CTS). הכלי הזה משמש כממשק אינטרנט למסגרות בדיקה שונות, כמו Trade Federation (TF) ו-Google Mobly, ומאפשר להריץ בדיקות CTS ובדיקות במספר מכשירים על קבוצה של מכשירי בדיקה עם הגדרה מינימלית, וגם לקבוע לוח זמנים להרצה רציפה של בדיקות.
הגדרת OmniLab ATS
בקטע הזה מוסבר איך להתקין ולהגדיר את OmniLab ATS.
OmniLab ATS משתמש בקוד מקור מהמיקומים הבאים:
- קוד המקור של OmniLab ATS
- קוד המקור של TradeFed Cluster
התקנה של OmniLab ATS
פועלים לפי הדרישות של החומרה והתוכנה של חבילות הבדיקות שאתם מריצים.
הדרישות ל-CTS מפורטות בכתובת source.android.com.
אין דרישות חומרה נוספות ל-OmniLab ATS, אבל מומלץ להשתמש בדרישות המארח של CTS בתור נקודת התחלה.
יש שתי דרכים להתקין את OmniLab ATS:
- מפעילים את תוכנית ההתקנה.
- להתקין אותו באופן ידני, שתצטרכו להתקין לצורך כך כמה תוכנות ומשאבים.
התקנה באמצעות תוכנת ההתקנה
ב-Ubuntu 20.04 ואילך, תוכנת ההתקנה מתקינה ומגדירה את כל התוכנות והמשאבים הנדרשים להפעלת OmniLab ATS.
כדי להשתמש בתוכנית ההתקנה:
מריצים את תוכנית ההתקנה:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
מריצים את
mtt version
כדי לבדוק את הגרסה המותקנת של OmniLab ATS CLI.
התקנה ידנית
התקנת Docker
פועלים לפי ההוראות להתקנת Docker Community Edition (CE) במחשב Linux.
פועלים לפי השלבים שלאחר ההתקנה לניהול Docker כמשתמש שאינו Root.
יכול להיות שתצטרכו להפעיל מחדש את חלון מסוף ה-SSH או לצאת מהחשבון ולהיכנס אליו שוב כדי שהשינויים בהרשאות ייכנסו לתוקף.
התקנת Python 3
OmniLab ATS CLI מאומת לגרסאות Python מ-3.7 עד 3.11.
ב-Ubuntu 16.04 ואילך, קודם צריך להוסיף את המאגר של Python 3 באחת מהדרכים הבאות:
מריצים את הפקודה הבאה:
sudo add-apt-repository ppa:deadsnakes/ppa
פיתוח והתקנה של המאגר מהמקור.
כדי להתקין את Python 3, מריצים את הפקודות הבאות:
sudo apt-get update
sudo apt install python3 python3-distutils
כדי להתקין גרסה ספציפית של Python 3 (לדוגמה, 3.10), מריצים את הפקודות הבאות במקום זאת:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
קבלת ה-CLI של OmniLab ATS
כאן אפשר להוריד את חבילת ממשק שורת הפקודה (CLI).
הפעלת OmniLab ATS
מפעילים את OmniLab ATS באמצעות הפקודה הבאה:
mtt start
בפעם הראשונה שמפעילים את ממשק המשתמש, יכול להיות שיחלפו כמה דקות עד שהוא יופיע. ב-CLI תוצג כתובת URL לאינטרנט כדי לגשת לממשק המשתמש בדפדפן. כברירת מחדל, כתובת ה-URL באינטרנט היא localhost:8000
. במקרה הצורך, אפשר לשנות את יציאת ברירת המחדל בזמן ההפעלה באמצעות הדגל --port
.
אם יש גרסה חדשה יותר, אפשר לעדכן לגרסה הנוכחית. בנתוני הגרסה תוכלו למצוא את הגרסאות העדכניות ביותר.
כדי לעדכן לגרסה הנוכחית, מריצים את הפקודה:
mtt start --force_update
כדי להפסיק את האפליקציה, מריצים את הפקודה:
mtt stop
כדי להציג רשימה של פקודות אחרות, משתמשים באפשרות:
mtt --help
גיבוי ושחזור של מסד הנתונים
כדי לגבות את מסד הנתונים של OmniLab ATS, מפסיקים את האפליקציה ומריצים את הפקודה הבאה, שמגיבה את מסד הנתונים הנוכחי לקובץ TAR בשם mtt-backup.tar
בספריית הבית:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
כדי לשחזר, מריצים את הפקודה הבאה לפני שמפעילים את האפליקציה:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
אשף ההגדרה
אחרי שמתקינים ומפעילים את OmniLab ATS בפעם הראשונה, אשף ההגדרה מנחה אתכם בכמה שלבים שיעזרו לכם להתאים אישית את הכלי לסביבה שלכם. אפשר לשנות את ההגדרות האלה מאוחר יותר דרך דף ההגדרות.
שחזור של גיבוי תצורה
אם יש לכם קובץ הגדרות שגיבוי ממארח אחר של OmniLab ATS, תוכלו להעלות את הקובץ כדי להעתיק את ההגדרות ששונו מהמארח הזה. לשם כך, לוחצים על הלחצן Upload File (העלאת קובץ).
איור 1. שחזור של גיבוי של הגדרות אישיות.
הגדרת חשבון השירות שמוגדר כברירת מחדל
אתם יכולים להגדיר חשבון שירות ש-OmniLab ATS ישתמש בו כברירת מחדל כשיגישה למשאבים שלכם (לדוגמה, Google Cloud Storage, Google Drive). כדי לאמת את חשבון השירות, לוחצים על Upload Service Account Key ובוחרים את קובץ המפתח בפורמט JSON של חשבון השירות.
איור 2. הגדרת חשבון השירות.
כשחשבון השירות מאומת, כתובת האימייל של החשבון מופיעה בפינה הימנית העליונה של הדף. כדי לשנות את חשבון השירות, לוחצים על שם החשבון, מסירים את חשבון ברירת המחדל הנוכחי ומעלים מפתח חדש לחשבון השירות.
איור 3. שינוי חשבון השירות.
ייבוא של קבוצות הגדרות
קבוצת הגדרות היא חבילה של הגדרות להרצת חבילות בדיקות, כולל פעולות הקשורות למכשיר וערוצי build. קבוצות ההגדרות מתארחות בקטגוריה ספציפית של Google Cloud Storage (GCS). אחרי האימות של ערוץ ה-build ב-GCS באמצעות חשבון Google, תוצג רשימה של כל קבוצות ההגדרות שזמינות לכם.
בוחרים את קבוצות התצורה שרוצים להוסיף למארח של תחנת הבדיקה ולוחצים על ייבוא הפריטים שנבחרו.
איור 4. ייבוא של קבוצת הגדרות אישיות.
הכללת הגדרות Wi-Fi
בחלק מבדיקות CTS, המכשיר צריך להתחבר לנקודה לשיתוף אינטרנט (Hotspot) ב-Wi-Fi. כדי לבחור את רשת ה-Wi-Fi, מזינים את SSID ה-Wi-Fi ואת PSK ה-Wi-Fi (אופציונלי).
איור 5. הגדרות הנקודה לשיתוף אינטרנט (hotspot) ב-Wi-Fi.
אחרי השלמת אשף ההגדרה, הדף יטען מחדש עם ההגדרות החדשות.
חיבור מכשיר
כדי להשתמש במכשיר לצורך בדיקה, צריך להפעיל את ניפוי הבאגים ב-USB. כדי להפעיל ניפוי באגים:
פועלים לפי ההוראות במאמר הפעלת אפשרויות למפתחים וניפוי באגים.
אם אתם מתכננים להשתמש בגרסאות build של Android לבדיקה שמוגדרים בהן מראש מפתחות ADB מותאמים אישית, צריך להעביר את קובצי
.adb_key
המותאמים אישית לספרייה~/.android/
.הקבצים נטענים באופן אוטומטי ומועברים ל-ADB כדי להפעיל אוטומטית את ניפוי הבאגים ב-USB אחרי שמיישמים את הקושחה במכשירים שפועלים בגרסאות ה-build האלה.
מחברים את המכשיר למכונה המארחת באמצעות USB.
המכשיר יופיע בכרטיסייה OmniLab ATS Devices תוך דקה אחת אחרי רענון ממשק האינטרנט. בכרטיסייה הזו אפשר גם לראות את המצב של המכשירים.
איור 6. חיבור מכשיר.
מצבי המכשיר השונים הם:
- זמין – המכשיר מחובר ומוכן להריץ בדיקה.
- הוקצה – המכשיר מחובר ומתבצעת בו בדיקה. כל מכשיר יכול להריץ רק בדיקה אחת בכל פעם, כך שהמכשיר צריך לסיים את הבדיקה הנוכחית לפני שהוא יכול להריץ בדיקה חדשה.
הרצת בדיקה
בחירת בדיקה
OmniLab ATS מגיע עם קבוצה של הגדרות CTS מוגדרות מראש. כדי להריץ אחת מהבדיקות האלה, עוברים לכרטיסייה Test Suites ולוחצים על Run test לבדיקה שנבחרה.
איור 7. בחירת בדיקה.
במאמר הוספת בדיקות מוסבר איך לערוך או להוסיף בדיקות חדשות.
הגדרת הרצה לניסיון
עורכים את הפרמטרים שישמשו להרצת הבדיקה הספציפית הזו. רוב הפרמטרים מאוכלסים מראש בערכים שהוגדרו בתצורת הבדיקה שנבחרה.
אפשר להשלים את השלב הזה באמצעות ערכי ברירת המחדל, אבל אפשר לשנות כל אחד מהפרמטרים, כמו Max Retry ו-Command, בהתאם לצרכים שלכם.
איור 8. הגדרת הרצה של בדיקה.
הפרמטרים של הרצה של בדיקה הם:
- Name – השם של חבילת הבדיקות שרוצים להריץ.
- Run Count – מספר הפעמים שהרצת הבדיקה הזו צריכה להתבצע לפי לוח הזמנים. ההרצות של הבדיקות מתוזמנות באמצעות Trade Federation, שמריץ עד 20 הרצות בדיקה במקביל אם יש לכך קיבולת.
- Max Retry – מספר הניסיונות המקסימלי לניסיון חוזר של הרצת הבדיקה, אם לפחות בדיקה אחת נכשלת. בדרך כלל מגדירים 4 עד 6 ניסיונות חוזרים להרצה מלאה של CTS כדי לטפל בבדיקות לא יציבות.
- זמן קצוב לתפוגה בתור – אם הרצה של בדיקה נשארת במצב בתור במשך זמן רב מדי, היא מבוטלת באופן אוטומטי. כאן מציינים את משך ההמתנה לפני הביטול. ברירת המחדל היא 24 שעות.
Command – הפקודה להרצת חבילת הבדיקות. כאן אפשר להזין ארגומנטים נוספים לשורת הפקודה. לדוגמה, כדי להריץ מודול ספציפי ב-CTS 8.1:
cts-suite -m ShortModuleName
Retry Command (פקודת ניסיון חוזר) – הפקודה לניסיון חוזר של חבילת בדיקות. כאן אפשר להוסיף ארגומנטים נוספים לשורת הפקודה. לדוגמה, כדי לנסות שוב רק מודול ספציפי ב-CTS 8.1, משתמשים בקוד:
cts --retry 0 -m ShortModuleName
הארגומנטים לניסיון חוזר עשויים להיות שונים מאלה שזמינים עם הפקודה הראשונית, לכן כדאי לבדוק את הפרמטרים הנתמכים באתר הרשמי של חבילת הבדיקות שנבחרה.
הרצת בדיקה קודמת – אם רוצים להריץ מחדש הרצת בדיקה קודמת:
מקומי – אם ההרצה הופעלה במארח הנוכחי, מזינים את מזהה ההרצה של הבדיקה שמוצג כשמציגים את פרטי ההרצה.
איור 9. הרצה קודמת של הבדיקה ברמת המיקום.
מרחוק – אם ההרצה הופעלה במארח אחר, מעלים את קובץ תוצאות הבדיקה. לשם כך, בוחרים באפשרות מרחוק, לוחצים על העלאת קובץ תוצאות הבדיקה ובוחרים קובץ מהאחסון המקומי.
איור 10. הפעלה מרחוק של הבדיקה הקודמת.
מכשירים נבחרים
לוחצים על תיבות הסימון כדי לבחור את המכשירים שרוצים להקצות להרצת חבילת הבדיקות. מספר השברים אמור להשתנות באופן אוטומטי בהתאם למספר המכשירים שנבחרו.
איור 11. בחירת מכשירים.
כדי לבחור מכשירים לפי מאפיינים אחרים מלבד מספרי סידור של מכשירים, אפשר להזין ידנית את 'מפרטים של מכשירים'. לדוגמה, כדי לבחור 3 מכשירים ששם המוצר שלהם הוא bramble, מזינים את הערך הבא:
product:bramble;product:bramble;product:bramble
המאפיינים הנתמכים הם:
- build_id
- device_serial
- device_type
- hostname
- מכפלה
- product_variant
- sim_state
כל המכשירים שנבחרו צריכים להיות במצב זמין כדי להריץ את הבדיקה, והם עוברים למצב הוקצה כשהבדיקה מופעלת. הרצת בדיקה נמצאת במצב Queued בזמן שהיא ממתינה למכשירים שיהפכו לזמינים.
הוספת פעולות במכשיר
פעולות במכשיר הן סקריפטים שאפשר להריץ לפני כל הפעלת בדיקה. פעולות מסוימות במכשיר כבר מוגדרות מראש, כמו הפעלה מחדש והצגת פלאש. במאמר יצירת פעולה חדשה במכשיר מוסבר איך יוצרים פעולות חדשות במכשיר.
איור 12. פעולות במכשיר.
כדי להוסיף פעולת מכשיר להרצת בדיקה, לוחצים על Add new action (הוספת פעולה חדשה), מסמנים את התיבות לצד הפעולות שרוצים להוסיף ולוחצים על Add Action(s) (הוספת פעולות). הפעולות במכשיר מתבצעות ברצף. אפשר לשנות את סדר הפעולות על ידי גרירת הפעולות.
איור 13. שינוי הסדר של הפעולות.
הגדרת משאבי בדיקה
משאבי בדיקה הם קבצים שנדרשים להרצת בדיקה. לדוגמה, כדי להריץ את CTS צריך קובץ android-cts*.zip
, וכדי לבצע איפוס להגדרות המקוריות של מכשיר צריך לספק את קובץ האימג' של ה-build.
כתובת ה-URL להורדה של קובץ ה-zip של חבילת הבדיקות צריכה להיות כברירת מחדל הקישורים ל-Google Drive ששותפים קיבלו. לוחצים על עיון כדי לבחור קובץ אחר. בחלון הקופץ, אפשר להזין קישור להורדת קובץ, להשתמש בקובץ מערוץ build מאומת או להעלות קובץ לשימוש מהאחסון המקומי.
איור 14. בדיקת המשאבים.
בהמשך מוצג חלון קופץ לבחירת משאב בדיקה לפי כתובת URL של אתר. אפשר להזין את כתובת ה-URL של קובץ ההורדה וללחוץ על הלחצן בחירה כדי לאשר את הבחירה.
איור 15. בדיקת הבורר של המשאבים – כתובת URL לאינטרנט.
אם העליתם משאבים ל-Google Drive, ל-Google Cloud Storage (GCS) או לערוצים אחרים, תוכלו גם לעבור לכרטיסייה של הערוץ הספציפי ולבחור משאבים שם. דוגמה לבחירת משאב מ-Google Drive.
איור 16. בדיקת הכלי לבחירת משאבים – Google Drive.
בנוסף לבחירת קבצים, אפשר להשתמש בתווים כלליים לחיפוש בשדה Filename. המסמכים מופיעים כאן.
איור 17. בדיקת בוחר המשאבים – תמיכה בדפוסים של תווים כלליים לחיפוש.
אפשר גם לבחור קובץ מאחסון הקבצים המקומי של OmniLab ATS. אפשר להעלות קבצים לאחסון הזה או להשתמש ישירות בקבצים ובספריות המקומיים.
איור 18. בדיקת הכלי לבחירת משאבים – אחסון קבצים מקומי.
הוספת הגדרות להפעלה חוזרת
אפשר לתזמן הרצות חוזרות שיתחילו אחרי שההרצה הראשית תושלם ויטענו את התוצאות שלה, אבל אפשר להשתמש במכשיר, בפעולות או במשאבים שונים.
איור 19. הוספת הגדרות להרצה חוזרת.
התחלת ריצה לבדיקה
אחרי שמזינים את המידע הנדרש להרצת הבדיקה, לוחצים על Start Test Run. אם כל המידע תקין, הרצת הבדיקה תתחיל ותופנו לדף שבו תוכלו לראות את הפרטים וההתקדמות של הרצת הבדיקה.
איור 20. התחלת הרצה של בדיקה.
יצירת תוכנית בדיקה
תוכניות בדיקה משמשות ליצירת הרצאות בדיקה במסגרת לוח זמנים תקופתי. לדוגמה, הפעלת CTS 9.0 כל יום בשעה 17:00. כדי ליצור תוכנית בדיקה חדשה, לוחצים על יצירת תוכנית בדיקה חדשה.
איור 21. יצירת תוכנית בדיקה.
הגדרת תוכנית הבדיקה
מזינים את השם של תוכנית הבדיקה ואת התווית שרוצים להוסיף. לאחר מכן בוחרים לוח זמנים לשימוש.
- ידנית – תוכנית הבדיקה יוצרת הפעלות בדיקה רק כשמשתמש לוחץ על הפעלת תוכנית הבדיקה בדף הרשימה של תוכנית הבדיקה.
- Periodic (מחזורי) – תוכנית הבדיקה מתזמנת באופן אוטומטי את הרצת הבדיקות לפי לוח הזמנים המחזורי שנבחר. לדוגמה, תזמון של הפעלת בדיקה מדי יום בשעה 17:00.
- בהתאמה אישית – תוכנית הבדיקה מתזמנת באופן אוטומטי את הרצת הבדיקות על סמך ביטוי ה-cron שהוזן. לדוגמה, כדי לתזמן הפעלת בדיקה כל יום בשעה 17:00, ביטוי ה-cron הוא
0 17 * * *
.
איור 22. הגדרת תוכנית בדיקה.
הוספת חבילות בדיקות
לוחצים על + הוספת הגדרה להרצת בדיקה כדי להוסיף חבילות בדיקות שרוצים לתזמן באמצעות תוכנית הבדיקה. בוחרים חבילת בדיקות מהתפריט הנפתח Name ולוחצים על Next step. לאחר מכן בוחרים את המכשירים שבהם רוצים להריץ את הבדיקה ולוחצים על Add Configuration. אפשר להוסיף כמה הגדרות לכל תוכנית בדיקה.
איור 23. הגדרת הרצה של בדיקה.
הוספת פעולות במכשיר
מוסיפים את פעולות המכשיר שרוצים שיתבצעו לפני כל הפעלת בדיקה. פרטים נוספים זמינים במאמר הוספת פעולות במכשיר.
איור 24. הוספת פעולות במכשיר.
הגדרת משאבי בדיקה
הוספת משאבי בדיקה לתוכניות בדיקה זהה להוספת משאבים לפעולות בדיקה ספציפיות. פרטים נוספים זמינים במאמר הגדרת משאבי בדיקה.
איור 25. הגדרת משאבי בדיקה.
הצגת הרצות של בדיקות
רשימת ההרצות לניסיון
בדף Test Runs (הפעלות בדיקה) מוצגת רשימת ההפעלות המתוזמנות של הבדיקות. לוחצים על View כדי לראות פרטים נוספים על הרצה של בדיקה.
אפשר גם לסנן את הרשימה על ידי הזנת מחרוזת בסרגל הסינון והקשה על מקש Enter. אפשר להשתמש בכמה מסננים ולהפריד ביניהם באמצעות פסיק. המסנן מחזיר את כל השורות שמכילות את הטקסט המדויק (ללא התאמה למחרוזת משנה) בכל עמודה, לא כולל Status ו-Created.
מסנן ריק מחזיר את כל השורות. בשלב זה אין אפשרות לסנן לפי שורות עם ערכים ריקים.
איור 26. רשימת ההרצות לניסיון.
פרטי ההרצה לניסיון
כאן אפשר לראות את פרטי הרצת הבדיקה, כמו הסטטוס, היומנים והתוצאות.
איור 27. פרטי הרצת הבדיקה.
סטטוס ההרצה לניסיון
ההתקדמות של הרצה של בדיקה מוצגת בקטע 'סטטוס'. אם יש הודעה קשורה, כמו התקדמות ההורדה, סיבה לביטול או הודעת שגיאה, היא תוצג גם כאן.
איור 28. סטטוס ההרצה לניסיון.
אלה הסטטוסים של הרצה של בדיקה:
- בהמתנה – מתבצעת הורדה של המשאבים הנדרשים.
- בתור – הבדיקה מוכנה להרצה כשמכשיר זמין.
- Running (בפעולה) – הבדיקה פועלת במכשיר שהוקצה.
- הושלמה – הבדיקה הושלמה והתוצאות שלה דווחו.
- בוטל – המשתמש ביטל את הבדיקה או שהתוקף של הזמן הקצוב פג בזמן הניסיון למצוא מכשירים זמינים.
- שגיאה – אירעה שגיאה שמונעת את הפעלת הבדיקה.
ביטול של הרצה של בדיקה
אם הרצת הבדיקה לא הושלמה, אפשר לבטל אותה בלחיצה על Cancel ואז על Yes בתיבת הדו-שיח לאישור. הפעלות בדיקה גם מבוטלות באופן אוטומטי אם הן נשארות במצב Queued למשך זמן ארוך יותר מהשדה queue_timeout_seconds. ביטול של הפעלת בדיקה במצב Running עשוי להיכנס לתוקף תוך כמה דקות.
איור 29. ביטול של הרצה של בדיקה.
תוצאות ההרצה לניסיון
בסיום הרצה של בדיקה, התוצאות נאספות ומוצגות. כדי להציג פרטים נוספים, לוחצים על החץ של כל הפעלה. לוחצים על View Output Files כדי לראות את ארטיפקטי הבדיקה שנאספו, כמו test_result.xml
ו-test_result_failures.html
.
איור 30. תוצאות ההרצה לניסיון.
אפשר לראות יומני מארח ויומני Tradefed פעילים בכרטיסייה Logs (יומנים).
איור 31. הכרטיסייה 'יומנים'.
התוצאות של מודולים ספציפיים מופיעות בכרטיסייה 'תוצאות הבדיקה'.
איור 32. הכרטיסייה 'תוצאות בדיקה'.
כדי להוריד את הקבצים ששימשו כמשאבי בדיקה, לוחצים על פתיחה בכרטיסייה 'משאבי בדיקה'.
איור 33. הכרטיסייה 'מקורות מידע על בדיקות'.
כדי לראות את פרטי הרצת הבדיקה, כמו create_time, עוברים לכרטיסייה Config.
איור 34. הכרטיסייה Config.
תכונות מתקדמות
ניהול קובצי תצורה
OmniLab ATS משתמש בקובצי תצורה שנכתבים ב-YAML כדי לטעון אפשרויות מוגדרות מראש, כמו בדיקות, ערוצי build ופעולות במכשירים. דוגמה לקובץ תצורה:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
כשמגדירים מכונה של OmniLab ATS, אפשר לייצא את ההגדרות כקובץ כדי לשתף אותן עם משתמשים אחרים. כדי לעשות זאת, עוברים לדף ההגדרות ולוחצים על ייצוא בפינה השמאלית העליונה.
איור 35. ניהול קובצי תצורה.
אחרי הורדת קובץ התצורה, משתפים את הקובץ עם משתמשים אחרים. כדי להוסיף את קובץ התצורה למכונה של OmniLab ATS, לוחצים על Import ובוחרים את קובץ התצורה.
יצירת פעולת מכשיר חדשה
פעולות במכשיר משמשות לאוטומציה של תהליך ההגדרה של המכשיר. פעולות הן סקריפטים שמבוצעים בכל מכשיר שבו הבדיקה פועלת לפני כל הפעלת בדיקה, כולל לפני ניסיונות חוזרים. כדי להציג את רשימת הפעולות הזמינות במכשיר, עוברים לדף ההגדרות ולוחצים על הכרטיסייה 'פעולות במכשיר'. כמה פעולות במכשיר כבר מוגדרות מראש, כמו הפעלה מחדש ופלאשבק.
איור 36. הכרטיסייה 'פעולות במכשיר'.
הוספת פעולה חדשה למכשיר
לוחצים על פעולת מכשיר חדשה.
איור 37. לחצן הפעולה של מכשיר חדש.
מזינים שם ותיאור.
איור 38. שם הפעולה במכשיר.
לוחצים על Add Target Preparer.
מזינים את שם הכיתה המלא של Trade Federation Target Preparer, לדוגמה
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.איור 39. הוספת גורם שתפקידו להכין את היעד.
רשימה של כלי הכנה של יעדי בדיקה זמינה במסמך העזרה com.android.tradefed.targetprep.
איור 40. רשימת הגורמים המוכנים לשימוש.
מוסיפים אפשרויות לשימוש עם הכלי להכנת היעדים. כדי לראות את האפשרויות הזמינות, תוכלו לבדוק את targetprep כדי למצוא את קוד המקור של כל כלי לעיבוד יעד ב-AOSP:
איור 41. דוגמה לאפשרות פעולה.
כדי להוסיף אפשרות, לוחצים על Add Target Preparer Option ומזינים את הערכים הנדרשים.
איור 42. דוגמה לפקודת פעולה.
מגדירים את משאבי הבדיקה הנדרשים לביצוע הפעולה במכשיר, למשל, קובצי אימג' ל-build לצורך פלאש. כדי להוסיף הגדרת משאב, לוחצים על Add Test Resource וממלאים את השדות הנדרשים. אם אתם יודעים איפה נמצאים הקבצים, תוכלו לספק כתובת URL שמוגדרת כברירת מחדל להורדה בלחיצה על browse. אם הגורמים שמכינים את היעד מקבלים ספרייה כמשאב בדיקה, בוחרים באפשרות Decompress. לאחר מכן מציינים את הספרייה היחסית Destination מתחת לספריית העבודה הזמנית ואת File Names שרוצים לבצע להם דחיסה. אם לא מציינים שמות של קבצים, כל הקבצים decompress מהמשאב לבדיקה.
איור 43. משאבים לבדיקת פעולות.
לוחצים על עדכון.
איור 44. פעולה לשמירת השינויים.
ניהול בדיקות
עריכת בדיקה
כדי לערוך מבחן ששמור, עוברים לדף 'מבחנים' ולוחצים על עריכה בשורה של המבחן שרוצים לשנות. אחרי שמסיימים לשנות את הגדרות הבדיקה, לוחצים על עדכון.
איור 45. עריכת בדיקה.
הוספת בדיקה חדשה
כדי להוסיף בדיקה חדשה, עוברים לדף 'בדיקות' ולוחצים על יצירת בדיקה חדשה. מזינים את הפרטים המתאימים ולוחצים על יצירה.
איור 46. יצירת בדיקה.
איור 47. העתקת מבחן.
ייצוא הגדרות המארח
אחרי שמגדירים מארח, אפשר לייצא את ההגדרות שלו לקובץ. אפשר להעלות את הקובץ הזה למארחים אחרים כדי להעתיק את ההגדרות השמורות.
כדי לייצא את ההגדרות של מארח, עוברים לדף ההגדרות ולוחצים על ייצוא בפינה השמאלית העליונה.
איור 48. ייצוא של הגדרות מארח.
כדי לייבא קובץ תצורה של מארח, עוברים לדף ההגדרות ולוחצים על ייבוא בפינה השמאלית העליונה.
איור 49. ייבוא של הגדרת מארח.
שימוש בקבצים ובספריות מקומיים
החל מגרסה R11, יש גישה אוטומטית לקבצים בספרייה $HOME/.ats_storage
ב-OmniLab ATS. מעתיקים או מעבירים קובץ לספרייה הזו, ואז אפשר לבחור אותו בכרטיסייה קובץ מקומי כשמתזמנים את הרצת הבדיקה.
cp /path/to/file $HOME/.ats_storage
איור 50. בחירת קובץ מהספרייה $HOME/.ats_storage
.
אפשר לטעון ספריות נוספות למאגר הקבצים המקומי באמצעות הדגל --mount_local_path
.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
איור 51. ספריות נוספות שמותקנות במאגר הקבצים המקומי.
הפעלת מצב אירוח מרובה
במצב 'מספר מארחים', משתמשים יכולים להשתמש במארח אחד של ATS controller כדי לנהל את המכשירים והבדיקות במספר מארחים של ATS worker.
איור 52. ארכיטקטורה של מצב עם מספר מארחים.
כדי להפעיל את הבקר של ATS, מריצים את הפקודה הבאה:
mtt start --operation_mode=ON_PREMISE
בודקים אם יש גישה לשלט הרחוק בכתובת
http://${CONTROLLER_HOSTNAME}:8000
.כדי להפעיל את העובדים, מריצים את הפקודה הבאה:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
אם הרשת לא מאפשרת למארחים לתקשר ביניהם, צריך לפעול לפי הוראות ההגדרה המתקדמות יותר שבהמשך ב-ATS worker.
מחברים את שני המארחים באמצעות מנהרות SSH. בוחרים את היציאות של השרת הראשי ושל שרת הקבצים, לדוגמה, 9000 ו-9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
מגדירים ומפעילים את ATS.
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
ניקוי קבצים
מנקה הקבצים הוא משימה ב-cron שפועלת מדי שעה כדי לנקות קבצים על סמך הגדרות שהוגדרו על ידי משתמשים. ל-ATS יש שתי הגדרות ברירת מחדל להעברה לארכיון של תוצאות הרצת הבדיקה ולמחיקה של קבצים זמניים. במדריך הזה נסביר איך להתאים אישית את כללי המדיניות וההגדרות כדי לנהל את הקבצים ביעילות.
מדיניות
המדיניות מגדירה את הפעולה שצריך לבצע בקבצים או בספריות, ואת הקריטריונים לבחירת יעדים. הפעולות הזמינות מוצגות בטבלה:
סוג הפעולה | פרמטרים |
---|---|
ARCHIVE | remove_file : אם הערך הוא true , הקובץ יוסר אחרי ההעברה לארכיון. |
DELETE |
הקריטריונים מבוססים על מאפייני הקובץ ועל פרטי המערכת. הקריטריונים הזמינים מוצגים בטבלה:
סוג הקריטריון | תיאור | פרמטרים |
---|---|---|
LAST_MODIFIED_TIME | סינון קבצים לפי תאריך ושעת השינוי האחרונים שלהם. | ttl : יש תמיכה בסוגים שונים של ביטויי זמן, לדוגמה, 10m , 2h , 7 days , 4w . הפורמטים הנתמכים מפורטים במאמר pytimeparse . |
LAST_ACCESS_TIME | סינון קבצים לפי תאריך הגישה האחרון והשעה האחרונה שבה ניגשת אליהם. | זהה ל-LAST_MODIFIED_TIME . |
NAME_MATCH | סינון קבצים לפי השם שלהם באמצעות ביטוי רגולרי. | pattern : ביטוי רגולרי, לדוגמה, [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip כדי להתאים לארכיונים בפורמט zip של התוצאות. |
SYSTEM_AVAILABLE_SPACE | הפעלת פעולות על סמך המקום הפנוי במערכת. | threshold : הפעלת פעולה כשהמקום הפנוי יורד מתחת לסף, לדוגמה, 200 (B), 200KB , 200MB , 200GB , 2TB . |
איור 53. מוסיפים מדיניות חדשה לניקוי קבצים.
הגדרות
קובץ תצורה משלב מדיניות אחת או יותר עם ספריות ספציפיות. הקבצים והספריות בספריות שצוינו עוברים עיבוד על סמך כללי המדיניות שהוגדרו. המדיניות חלה לפי הסדר שבו היא מופיעה בתצורה.
כל ספריות היעד חייבות להיות בספרייה /data
. אם ב-config מצוין שהספרייה היעד היא logs
, היא תובן כ-/data/logs
.
איור 54. עורכים את קובץ התצורה של מנקה הקבצים.
איפוס
לחיצה על איפוס ההגדרות מחזירה את ההגדרות של מנקה הקבצים למצב ברירת המחדל. הפעולה הזו מנקה את כל הפריטים בהתאמה אישית.
איור 55. מאפסים את ההגדרות של מנקה הקבצים.
תמיכה
דוחות איתור באגים
התרומה שלכם ל-OmniLab ATS עוזרת לנו לשפר את הפיתוח של הכלי, ואנחנו רוצים לקבל מכם משוב. פרטים על הגרסה האחרונה זמינים בהערות המוצר של OmniLab ATS. כדי לדווח על באגים או להציע הצעות, אפשר לשלוח דוח באג. שותפים צריכים לדווח על באגים או הצעות באמצעות ערוצי השותפים שלהם.