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 מגרסה 22.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 מלאה כדי לטפל בבדיקות לא יציבות.
- זמן קצוב לתור – אם הרצת בדיקה נשארת במצב Queued (בהמתנה) יותר מדי זמן, היא מבוטלת באופן אוטומטי. מציינים כאן את משך הזמן להמתנה לפני הביטול. ברירת המחדל היא 24 שעות.
Command – הפקודה להרצת חבילת הבדיקה. כאן אפשר להזין ארגומנטים נוספים לשורת הפקודה. לדוגמה, כדי להריץ מודול ספציפי ב-CTS 8.1:
cts-suite -m ShortModuleNameRetry Command (פקודת ניסיון חוזר) – הפקודה להרצת חבילת בדיקות מחדש. כאן אפשר להוסיף ארגומנטים נוספים לשורת הפקודה. לדוגמה, כדי לנסות שוב רק מודול ספציפי ב-CTS 8.1, משתמשים בפקודה:
cts --retry 0 -m ShortModuleNameיכול להיות שהארגומנטים של הניסיון החוזר יהיו שונים מאלה שזמינים בפקודה הראשונית. לכן כדאי לבדוק את הפרמטרים הנתמכים באתר הרשמי של חבילת הבדיקות שנבחרה.
הפעלת בדיקה קודמת – אם רוצים להפעיל מחדש בדיקה קודמת:
מקומי – אם ההרצה הופעלה במארח הנוכחי, מזינים את מזהה הרצת הבדיקה שמופיע כשמציגים את הפרטים של הרצת הבדיקה.
איור 9. הפעלה מקומית קודמת של בדיקה.
מרחוק – אם ההרצה התחילה במארח אחר, מעלים את קובץ תוצאות הבדיקה על ידי בחירה באפשרות מרחוק, לחיצה על העלאת קובץ תוצאות הבדיקה ובחירת קובץ מהאחסון המקומי.
איור 10. הפעלה מרחוק של בדיקה קודמת.
מכשירים נבחרים
לוחצים על תיבות הסימון כדי לבחור את המכשירים שיוקצו להרצת חבילת הבדיקה. מספר הרסיסים אמור להשתנות אוטומטית בהתאם למספר המכשירים שנבחרו.
איור 11. בחירת מכשירים.
כדי לבחור מכשירים לפי מאפיינים אחרים מלבד המספרים הסידוריים של המכשירים, אפשר להזין באופן ידני את הערך Device Specs. לדוגמה, כדי לבחור 3 מכשירים ששם המוצר שלהם הוא bramble, מזינים את הפקודה הבאה:
product:bramble;product:bramble;product:bramble
המאפיינים הנתמכים הם:
- build_id
- device_serial
- device_type
- שם מארח
- מכפלה
- product_variant
- sim_state
כל המכשירים שנבחרו צריכים להיות במצב זמין כדי להריץ את הניסיון, והם עוברים למצב הוקצה כשהניסיון מופעל. ריצת בדיקה נמצאת במצב Queued בזמן ההמתנה למכשירים שיהיו זמינים.
הוספת פעולות במכשיר
פעולות במכשיר הן סקריפטים שאפשר להריץ לפני כל הרצת בדיקה. חלק מהפעולות במכשיר כבר מוגדרות, כמו הפעלה מחדש והבהוב. כדי ליצור פעולות חדשות במכשיר, אפשר לעיין במאמר בנושא יצירת פעולה חדשה במכשיר.
איור 12. פעולות במכשיר.
כדי להוסיף פעולה במכשיר להרצת בדיקה, לוחצים על Add new action (הוספת פעולה חדשה), מסמנים את תיבות הסימון של הפעולות שרוצים להוסיף ולוחצים על Add Action(s) (הוספת פעולות). הפעולות במכשיר מבוצעות ברצף. אפשר לשנות את סדר הפעולות באמצעות גרירה.
איור 13. שינוי הסדר של הפעולות.
הגדרת משאבי בדיקה
משאבי בדיקה הם קבצים שנדרשים להרצת בדיקה. לדוגמה, כדי להריץ את CTS צריך קובץ android-cts*.zip, וכדי לצרוב ROM למכשיר צריך לספק את קובץ האימג' של ה-build.
כתובת ה-URL להורדה של קובץ ה-ZIP של חבילת הבדיקה צריכה להיות כברירת מחדל הקישורים ל-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 כדי להתאים לתוצאות דחיסה. |
SYSTEM_AVAILABLE_SPACE | הפעלת פעולות על סמך השטח הזמין במערכת. | threshold: הפעלת פעולה כשהשטח הפנוי קטן מהסף, לדוגמה, 200(B), 200KB, 200MB, 200GB, 2TB. |
איור 53. מוסיפים מדיניות חדשה לניקוי קבצים.
הגדרות
ההגדרה משלבת מדיניות אחת או יותר עם ספריות ספציפיות. הקבצים והספריות בתוך הספריות שצוינו יעברו עיבוד על סמך המדיניות שהוגדרה. ההטמעה של המדיניות מבוצעת לפי הסדר שבו היא מופיעה בהגדרות.
כל ספריות היעד צריכות להיות ממוקמות בספרייה /data. אם בהגדרה מצוינת ספריית היעד כ-logs, היא מתפרשת כ-/data/logs.
איור 54. עורכים את ההגדרה של כלי ניקוי הקבצים.
איפוס
לחיצה על איפוס ההגדרות מחזירה את ההגדרות של כלי ניקוי הקבצים למצב ברירת המחדל. הפעולה הזו מוחקת את כל הפריטים המותאמים אישית.
איור 55. איפוס ההגדרות של הכלי לניקוי קבצים.
תמיכה
דוחות איתור באגים
התרומה שלכם ל-OmniLab ATS עוזרת לשפר את הפיתוח של הכלי, ואנחנו רוצים לשמוע את דעתכם! פרטים על הגרסה האחרונה זמינים בהערות המוצר של OmniLab ATS. כדי לדווח על באגים או להציע הצעות, אפשר לשלוח דוח באגים. שותפים צריכים לדווח על באגים או לשלוח הצעות באמצעות ערוצי השותפים שלהם.