OmniLab ATS הוא כלי בדיקה שמפתחי Android ומהנדסי בדיקות יכולים להשתמש בו כדי להפעיל ממשק משתמש להרצת חבילות בדיקה סטנדרטיות של Android, כמו חבילת הבדיקות לתאימות של Android (CTS). הכלי הזה פועל כממשק אינטרנט למסגרות בדיקה שונות, כמו Trade Federation (TF) ו-Google Mobly, ומאפשר להריץ בדיקות CTS ובדיקות של כמה מכשירים על קבוצה של מכשירי בדיקה עם הגדרה מינימלית, וגם לקבוע לוח זמנים להרצת בדיקות באופן רציף.
מבוא ל-OmniLab ATS 2.0
ב-OmniLab ATS 2.0, תשתית הבדיקה הבסיסית מועברת מ-Trade Federation אל OmniLab. השינוי הזה מביא איתו קצה עורפי חזק ויעיל יותר, תוך שמירה על ממשק המשתמש ועל תהליכי העבודה של OmniLab ATS 1.0.
היתרונות העיקריים של OmniLab ATS 2.0:
- תשתית מודרנית: שימוש בפלטפורמת OmniLab לשיפור היציבות והביצועים.
- מעבר חלק: אין שינויים בממשק המשתמש של האינטרנט או בתהליכי העבודה של ביצוע הבדיקות.
- מוכנות לעתיד: התאימות למערכת הבדיקות המאוחדת של Google מאפשרת אימוץ מהיר יותר של תכונות חדשות.
OmniLab ATS 2.0 כולל תכונות חדשות כמו עדכונים של תוכניות בדיקה בכמות גדולה, הקצאת מכשירים מתקדמת ועוד. כדאי לעיין בהערות המוצר כדי להתעדכן.
שדרוג ל-OmniLab ATS 2.0:
כדי לנסות את OmniLab ATS 2.0, מוסיפים את הדגל --force_ats_version 2 לפקודה mtt start:
mtt start --force_ats_version 2
במהלך תקופת המעבר, מומלץ להשתמש בתג dogfood כדי לגשת לגרסה היציבה העדכנית עם התכונות של OmniLab ATS 2.0:
mtt start --force_ats_version 2 --tag dogfood --force_update
אנחנו מתכננים להגדיר את OmniLab ATS 2.0 כגרסת ברירת המחדל ברבעון השלישי של 2026. אנחנו מתכננים להוציא את OmniLab ATS 1.0 משימוש עד סוף 2026.
פרטים נוספים על עדכונים ספציפיים, הבדלים ידועים והנחיות לשדרוג זמינים במדריך לשדרוג ל-OmniLab ATS 2.0.
הגדרת 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.
יכול להיות שתצטרכו להפעיל מחדש את חלון הטרמינל או לצאת מהחשבון ולהיכנס אליו שוב כדי שהשינויים בהרשאות ייכנסו לתוקף.
התקנת 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 updatesudo apt install python3 python3-distutils
כדי להתקין גרסה ספציפית של Python 3 (לדוגמה, 3.10), מריצים את הפקודות הבאות במקום:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
קבלת OmniLab ATS CLI
מורידים את חבילת ממשק שורת הפקודה (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, אתם יכולים להעלות את הקובץ כדי להעתיק את כל התצורות ששונו מהמארח הזה. לשם כך, לוחצים על הלחצן העלאת קובץ.
איור 1. שחזור גיבוי של ההגדרות.
הגדרת חשבון השירות שמוגדר כברירת מחדל
אתם יכולים להגדיר חשבון שירות שבו OmniLab ATS ישתמש כברירת מחדל כדי לגשת למשאבים שלכם (לדוגמה, Google Cloud Storage, Google Drive). כדי לאמת את חשבון השירות, לוחצים על העלאת מפתח של חשבון שירות ובוחרים את קובץ מפתח ה-JSON של חשבון השירות.
איור 2. הגדרת חשבון השירות.
כשחשבון השירות מאומת בהצלחה, כתובת האימייל של החשבון מופיעה בפינה הימנית העליונה של הדף. כדי לשנות את חשבון השירות, לוחצים על שם החשבון, מסירים את חשבון ברירת המחדל הנוכחי ומעלים מפתח חדש של חשבון שירות.
איור 3. שינוי חשבון השירות.
ייבוא של קבוצות הגדרות
קבוצת הגדרות היא חבילה של הגדרות להרצת חבילות בדיקה, כולל פעולות קשורות במכשיר וערוצי build. ערכות ההגדרות מתארחות בקטגוריה ספציפית של Google Cloud Storage (GCS). אחרי אימות ערוץ הבנייה של GCS באמצעות חשבון Google, תוצג רשימה של כל ערכות ההגדרות שזמינות לכם.
בוחרים את קבוצות ההגדרות שרוצים להוסיף למארח של Test Station ולוחצים על ייבוא של הפריטים שנבחרו.
איור 4. ייבוא של קבוצת הגדרות.
הכללת הגדרות Wi-Fi
חלק מבדיקות ה-CTS דורשות שהמכשיר יתחבר לנקודה לשיתוף אינטרנט (Hotspot) ב-Wi-Fi. כדי לבחור את רשת ה-Wi-Fi, מזינים את ה-SSID של ה-Wi-Fi ואת ה-PSK של ה-Wi-Fi (אופציונלי).
איור 5. הגדרות של נקודת Wi-Fi לשיתוף אינטרנט.
אחרי שמסיימים את אשף ההגדרה, הדף נטען מחדש עם ההגדרות החדשות.
חיבור מכשיר
כדי להשתמש במכשיר לבדיקה, צריך להפעיל את האפשרות 'ניפוי באגים ב-USB'. כדי להפעיל ניפוי באגים:
פועלים לפי ההוראות במאמר בנושא הפעלת אפשרויות למפתחים וניפוי באגים.
אם אתם מתכננים להשתמש בגרסאות בדיקה של Android שנטענו מראש עם מפתחות ADB בהתאמה אישית, צריך להציב את קובצי
.adb_keyבהתאמה אישית בספרייה~/.android/.הקבצים נטענים אוטומטית ומועברים ל-ADB כדי להפעיל אוטומטית את ניפוי הבאגים ב-USB אחרי שהמכשיר עובר פלאשינג, במכשירים שמופעלים בהם ה-builds האלה.
מחברים את המכשיר למחשב המארח באמצעות USB.
המכשיר יופיע בכרטיסייה 'מכשירים' ב-OmniLab ATS תוך דקה אחרי רענון ממשק האינטרנט. בכרטיסייה הזו אפשר גם לראות את מצב המכשירים.
איור 6. חיבור מכשיר.
אלה הם מצבי המכשיר השונים:
- זמין – המכשיר מחובר ומוכן להרצת בדיקה.
- הוקצה – המכשיר מחובר ומתבצעת בו בדיקה. בכל מכשיר אפשר להריץ רק בדיקה אחת בכל פעם, ולכן המכשיר צריך לסיים את הבדיקה הנוכחית לפני שמריצים בדיקה חדשה.
הרצת בדיקה
בחירת בדיקה
חבילת OmniLab ATS כוללת קבוצה של הגדרות CTS שצורפו מראש. כדי להריץ אחת מהבדיקות האלה, עוברים לכרטיסייה Test Suites (חבילות בדיקה) ולוחצים על Run test (הרצת בדיקה) עבור הבדיקה שנבחרה.
איור 7. בחירת בדיקה.
כדי לערוך או להוסיף בדיקות חדשות, אפשר לעיין במאמר בנושא הוספת בדיקות.
הגדרת בדיקה
עורכים את הפרמטרים שבהם רוצים להשתמש בהרצת הבדיקה הספציפית הזו. רוב הפרמטרים מאוכלסים מראש בערכים שמוגדרים בהגדרת הבדיקה שנבחרה.
אפשר להשלים את השלב הזה באמצעות ערכי ברירת המחדל, אבל אפשר לשנות את הפרמטרים, כמו Max Retry ו-Command, בהתאם לצרכים שלכם.
איור 8. הגדרת בדיקה.
הפרמטרים של הרצת הבדיקה הם:
- שם – השם של חבילת הבדיקות שרוצים להריץ.
- מספר ההרצות – מספר הפעמים שצריך להריץ את בדיקת ההרצה הזו כשהיא מתוזמנת. הפעלות של בדיקות מתוזמנות באמצעות Trade Federation, שמפעיל עד 20 הפעלות של בדיקות במקביל אם יש קיבולת לכך.
- Max Retry – מספר הפעמים המקסימלי לניסיון חוזר של הרצת בדיקה אם לפחות בדיקה אחת נכשלת. בדרך כלל הערך הזה מוגדר ל-4 עד 6 ניסיונות חוזרים להרצה מלאה של CTS, כדי לטפל בבדיקות לא יציבות.
- זמן קצוב לתור – אם הפעלת בדיקה נשארת במצב בתור יותר מדי זמן, היא מבוטלת באופן אוטומטי. מציינים כאן את משך ההמתנה לפני הביטול. ברירת המחדל היא 24 שעות.
Command – הפקודה להרצת חבילת הבדיקה. כאן אפשר להזין ארגומנטים נוספים לשורת הפקודה. לדוגמה, כדי להריץ מודול ספציפי ב-CTS 8.1:
cts-suite -m ShortModuleNameRetry 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
- שם מארח
- מכפלה
- product_variant
- sim_state
כדי להריץ את בדיקת ההפעלה, כל המכשירים שנבחרו צריכים להיות במצב זמין, וכשהבדיקה מופעלת, כולם עוברים למצב הוקצה. ריצת בדיקה נמצאת במצב Queued (בתור) בזמן ההמתנה למכשירים שיהיו זמינים.
הוספת פעולות במכשיר
פעולות במכשיר הן סקריפטים שאפשר להריץ לפני כל הרצת בדיקה. חלק מהפעולות במכשיר כבר מוגדרות, כמו הפעלה מחדש והבהוב. כדי ליצור פעולות חדשות במכשיר, אפשר לעיין במאמר בנושא יצירת פעולה חדשה במכשיר.
איור 12. פעולות במכשיר.
כדי להוסיף פעולה במכשיר להרצת בדיקה, לוחצים על הוספת פעולה חדשה, מסמנים את תיבות הסימון של הפעולות שרוצים להוסיף ולוחצים על הוספת פעולות. הפעולות במכשיר מבוצעות ברצף. אפשר לשנות את סדר הפעולות באמצעות גרירה.
איור 13. שינוי הסדר של הפעולות.
הגדרת משאבי בדיקה
משאבי בדיקה הם קבצים שנדרשים להרצת בדיקה. לדוגמה, כדי להריץ את CTS צריך קובץ android-cts*.zip, וכדי לצרוב ROM במכשיר צריך לספק את קובץ האימג' של ה-build.
כתובת ה-URL להורדה של קובץ ה-ZIP של חבילת הבדיקה צריכה להיות כתובת ה-URL של Google Drive שניתנה לשותפים. כדי לבחור קובץ אחר, לוחצים על עיון. בחלון הקופץ, אפשר להזין קישור להורדת קובץ, להשתמש בקובץ מערוץ בנייה מאומת או להעלות קובץ לשימוש מהאחסון המקומי.
איור 14. בדיקת משאבים.
למטה מוצג החלון הקופץ לבחירת משאב לבדיקה באמצעות כתובת URL של אתר. אפשר להזין את כתובת ה-URL של ההורדה וללחוץ על הכפתור בחירה כדי לאשר את הבחירה.
איור 15. בדיקת בוחר משאבים – כתובת URL של אתר.
אם העליתם משאבים ל-Google Drive, ל-Google Cloud Storage (GCS) או לערוצים אחרים, אתם יכולים גם לעבור לכרטיסייה של הערוץ הספציפי ולבחור משאבים משם. הנה דוגמה לבחירת משאב מ-Google Drive.
איור 16. בדיקת בוחר המשאבים – Google Drive.
בנוסף לבחירת קבצים, אפשר להשתמש בתווים כלליים לחיפוש גם בשדה שם הקובץ. אפשר למצוא את התיעוד כאן.
איור 17. בדיקה של בוחר משאבים – תמיכה בדוגמת עיצוב של תווים כלליים לחיפוש.
אפשר גם לבחור קובץ ממאגר הקבצים המקומי של OmniLab ATS. אתם יכולים להעלות קבצים לאחסון הזה, או להשתמש ישירות בקבצים ובספריות מקומיים.
איור 18. בדיקת בוחר המשאבים – חנות קבצים מקומית.
הוספת הגדרות להרצה חוזרת
אפשר לתזמן הרצות חוזרות שמתחילות אחרי שההרצה הראשית מסתיימת והתוצאות שלה נטענות, אבל אפשר להשתמש במכשיר, בפעולות או במשאבים שונים.
איור 19. הוספת הגדרות הפעלה מחדש.
התחלת בדיקה
אחרי שמזינים את המידע שדרוש להרצת הבדיקה, לוחצים על התחלת הרצת הבדיקה. אם כל המידע תקין, מתחילת הרצת הבדיקה, ותועברו לדף שבו תוכלו לראות את הפרטים וההתקדמות של הרצת הבדיקה.
איור 20. מתחילים הרצה של בדיקה.
יצירת תוכנית בדיקה
תוכניות בדיקה משמשות ליצירת הרצות בדיקה בלוח זמנים קבוע. לדוגמה, הפעלת CTS 9.0 כל יום בשעה 17:00. כדי ליצור תוכנית בדיקה חדשה, לוחצים על יצירת תוכנית בדיקה חדשה.
איור 21. יצירת תוכנית בדיקה.
הגדרת תוכנית בדיקה
מזינים את השם של תוכנית הבדיקה ואת התוויות שרוצים להוסיף. לאחר מכן בוחרים לוח זמנים לשימוש.
- ידני – תוכנית הבדיקה יוצרת הרצות בדיקה רק כשמשתמש לוחץ על הפעלת תוכנית הבדיקה בדף רשימת תוכניות הבדיקה.
- תקופתי – תוכנית הבדיקה מתזמנת באופן אוטומטי הרצות של בדיקות לפי התזמון התקופתי שנבחר. לדוגמה, קביעת מועד להרצת בדיקה כל יום בשעה 17:00.
- Custom (בהתאמה אישית) – תוכנית הבדיקה מתזמנת באופן אוטומטי הרצות של בדיקות על סמך ביטוי ה-cron שהוזן. לדוגמה,
כדי לתזמן הרצת בדיקה כל יום בשעה 17:00, הביטוי ב-cron הוא
0 17 * * *.
איור 22. הגדרת תוכנית בדיקה.
הוספת חבילות בדיקה
לוחצים על + הוספת הגדרת הרצת בדיקה כדי להוסיף חבילות בדיקה שרוצים לתזמן באמצעות תוכנית הבדיקה. בוחרים חבילת בדיקות מהתפריט הנפתח שם ולוחצים על השלב הבא. לאחר מכן בוחרים את המכשירים שרוצים להריץ עליהם את הבדיקה ולוחצים על הוספת הגדרה. אפשר להוסיף כמה הגדרות לכל תוכנית בדיקה.
איור 23. הגדרת בדיקה.
הוספת פעולות במכשיר
מוסיפים את פעולות המכשיר שרוצים להפעיל לפני כל הרצת בדיקה. פרטים נוספים מופיעים במאמר בנושא הוספת פעולות במכשיר.
איור 24. הוספת פעולות במכשיר.
הגדרת משאבי בדיקה
הוספת משאבי בדיקה לתוכניות בדיקה זהה להוספת משאבים להרצות בדיקה בודדות. פרטים נוספים זמינים במאמר בנושא הגדרת משאבים לבדיקה.
איור 25. הגדרת משאבי בדיקה.
צפייה בהרצות בדיקה
רשימת הרצות בדיקה
אפשר לראות את רשימת הרצות הבדיקה המתוזמנות בדף 'הרצות בדיקה'. לוחצים על הצגה כדי לראות פרטים נוספים על הרצת בדיקה.
אפשר גם לסנן את הרשימה באמצעות הקלדה של מחרוזת בסרגל הסינון ולחיצה על המקש Enter. אפשר להשתמש בכמה מסננים ולהפריד ביניהם באמצעות פסיק. המסנן מחזיר את כל השורות שמכילות את הטקסט המדויק (לא מחרוזת משנה) בכל עמודה, למעט העמודות Status ו-Created.
מסנן ריק מחזיר את כל השורות. אין כרגע אפשרות לסנן שורות עם ערכים ריקים.
איור 26. רשימת הרצות הבדיקה.
פרטי הרצת בדיקה
כאן אפשר לראות את הפרטים של הרצת בדיקה, כמו הסטטוס, היומנים והתוצאות.
איור 27. פרטי הרצת הבדיקה.
סטטוס הרצת הבדיקה
ההתקדמות של הרצת בדיקה מוצגת בקטע 'סטטוס'. אם יש הודעה שקשורה לחיוב, כמו התקדמות ההורדה, סיבת הביטול או הודעת שגיאה, היא תוצג גם כאן.
איור 28. סטטוס הרצת הבדיקה.
אלה הסטטוסים של בדיקת ההרצה:
- בהמתנה – מתבצעת הורדה של המשאבים הנדרשים.
- בתור – הבדיקה מוכנה להרצה כשהמכשיר יהיה זמין.
- פועל – הבדיקה פועלת במכשיר שהוקצה.
- הושלמה – הבדיקה הושלמה והתוצאות שלה דווחו.
- בוטלה – הבדיקה בוטלה על ידי המשתמש או שהזמן שהוקצב לה הסתיים בניסיון למצוא מכשירים זמינים.
- שגיאה – קרתה שגיאה שמנעה את הפעלת הבדיקה.
ביטול בדיקה
אם הרצת הבדיקה לא הסתיימה, אפשר לבטל אותה בלחיצה על ביטול ואז על כן בתיבת הדו-שיח לאישור. הפעלות של בדיקות מבוטלות גם באופן אוטומטי אם הן נשארות במצב Queued (בהמתנה) למשך זמן ארוך יותר מהערך בשדה queue_timeout_seconds. יכול להיות שיחלפו כמה דקות עד שביטול של הרצת בדיקה במצב Running ייכנס לתוקף.
איור 29. ביטול הרצת בדיקה.
תוצאות של הרצה לניסיון
אחרי שהרצת הבדיקה מסתיימת, המערכת אוספת את התוצאות ומציגה אותן. כדי לראות פרטים נוספים, לוחצים על החץ של כל הרצה. לוחצים על View Output Files (הצגת קובצי הפלט) כדי לראות את תוצרי הבדיקה שנאספו, כמו test_result.xml ו-test_result_failures.html.
איור 30. תוצאות ההרצה לניסיון.
בכרטיסייה Logs (יומנים) אפשר לראות יומנים של מארחים ושל Tradefed בשידור חי.
איור 31. הכרטיסייה 'יומנים'.
התוצאות של כל מודול נמצאות בכרטיסייה Test Results (תוצאות הבדיקה).
איור 32. הכרטיסייה 'תוצאות הבדיקה'.
כדי להוריד את הקבצים שמשמשים כמשאבי בדיקה, לוחצים על פתיחה בכרטיסייה Test Resources (משאבי בדיקה).
איור 33. הכרטיסייה 'מקורות מידע על בדיקות'.
כדי לראות את הפרטים של הרצת הבדיקה, כמו create_time, עוברים לכרטיסייה Config.
איור 34. הכרטיסייה 'הגדרות'.
תכונות מתקדמות
ניהול קובצי תצורה
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. שם הפעולה במכשיר.
לוחצים על הוספת כלי להכנת יעד.
מזינים את השם המלא של המחלקה של Trade Federation Target Preparer, לדוגמה,
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
איור 39. הוספת מכין מסמכים ליעד.
רשימה של כלי הכנה זמינים לטירגוט מופיעה בהפניה אל com.android.tradefed.targetprep.
איור 40. רשימת מכיני היעד.
מוסיפים אפשרויות לשימוש עם הכלי להכנת היעד. כדי לראות את האפשרויות הזמינות, צריך לבדוק את targetprep בקוד המקור של כל כלי להכנת יעד ב-AOSP:
איור 41. דוגמה לאפשרות פעולה.
כדי להוסיף אפשרות, לוחצים על הוספת אפשרות להכנת קובץ יעד ומזינים את הערכים הנדרשים.
איור 42. דוגמה לפקודת פעולה.
מגדירים את משאבי הבדיקה שנדרשים להפעלת פעולת המכשיר, לדוגמה, תמונות build להעברה. כדי להוסיף הגדרת משאב, לוחצים על הוספת משאב בדיקה וממלאים את שדות החובה. אם אתם יודעים איפה הקבצים נמצאים, אתם יכולים לספק כתובת URL להורדה כברירת מחדל על ידי לחיצה על עיון. אם מכיני היעד מקבלים את הספרייה כמשאב בדיקה, בוחרים באפשרות Decompress (ביטול דחיסה). לאחר מכן מציינים את ספריית היעד היחסית בספריית העבודה הזמנית ואת שמות הקבצים שרוצים לפתוח. אם לא מציינים שמות של קבצים, כל הקבצים יחולצו מהמשאב של הבדיקה.
איור 43. משאבים לבדיקת פעולות.
לוחצים על עדכון.
איור 44. פעולה לשמירת שינויים.
ניהול בדיקות
עריכת בדיקה
כדי לערוך בדיקה שמורה, עוברים לדף 'בדיקות' ולוחצים על עריכה בשורה של הבדיקה שרוצים לשנות. אחרי שמשנים את הגדרות הבדיקה, לוחצים על עדכון.
איור 45. עריכה של בדיקה.
הוספת בדיקה חדשה
כדי להוסיף בדיקה חדשה, עוברים לדף Tests (בדיקות) ולוחצים על Create a New Test (יצירת בדיקה חדשה). מזינים את הפרטים המתאימים ולוחצים על יצירה.
איור 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. ספריות נוספות שנטענו בחנות הקבצים המקומית.
הפעלת מצב מרובה מארחים
במצב Multi-host, המשתמשים יכולים להשתמש במארח יחיד של בקר ATS כדי לנהל את המכשירים והבדיקות בכמה מארחים של עובדי ATS.
איור 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. אם בהגדרה מצוין ספריית היעד כ-logs, היא תפורש כ-/data/logs.
איור 54. עורכים את ההגדרה של כלי ניקוי הקבצים.
איפוס
לחיצה על איפוס ההגדרות מחזירה את ההגדרות של הכלי לניקוי קבצים למצב ברירת המחדל. הפעולה הזו מוחקת את כל הפריטים המותאמים אישית.
איור 55. איפוס ההגדרות של הכלי לניקוי קבצים.
תמיכה
דוחות איתור באגים
התרומה שלכם ל-OmniLab ATS עוזרת לשפר את הפיתוח של הכלי, ואנחנו רוצים לשמוע את דעתכם! פרטים על הגרסה האחרונה זמינים בהערות המוצר של OmniLab ATS. כדי לדווח על באגים או להציע הצעות, אפשר לשלוח דוח באגים. שותפים צריכים לדווח על באגים או לשלוח הצעות באמצעות ערוצי השותפים שלהם.