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, צריך לשדרג את התחנה לגרסה R52
ואילך. משתמשים בדגל --force_ats_version 2 כדי לעבור ל-Omnilab ATS 2.0 החדש, ובדגל --force_update עם הפקודה mtt start כדי לשדרג לגרסה העדכנית ביותר:
mtt start --force_ats_version 2 --force_update
במהלך תקופת המעבר, מומלץ להשתמש בתג 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, צריך Ubuntu 22.04 ואילך. ה-CLI מאומת מול גרסאות Python 3.10 עד 3.13.
כדי להתקין את Python 3, מריצים את הפקודות הבאות:
sudo apt-get updatesudo apt install python3 python3-distutils
אם אתם צריכים גרסה של Python 3 שלא נכללת בהפצה הרגילה שלכם, קודם צריך להוסיף את המאגר של Python 3. כדי לעשות זאת, מבצעים אחת מהפעולות הבאות:
מריצים את הפקודה הבאה:
sudo add-apt-repository ppa:deadsnakes/ppa
יוצרים ומתקינים את המאגר מהמקור.
כדי להתקין גרסה ספציפית של 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 אחרי שהמכשיר מופעל עבור מכשירים שמופעלים בהם הבנייה האלה.
מחברים את המכשיר למחשב המארח באמצעות 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. בחירת מכשירים.
כדי לבחור מכשירים לפי מאפיינים אחרים מלבד המספרים הסידוריים של המכשירים, אפשר להזין באופן ידני את הערך Device Specs. לדוגמה, כדי לבחור 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 של חבילת מקרים לבדיקה צריכה להיות כתובת ברירת המחדל של הקישורים ל-Google Drive שניתנו לשותפים. כדי לבחור קובץ אחר, לוחצים על עיון. בחלון הקופץ, אפשר להזין קישור להורדת קובץ, להשתמש בקובץ מערוץ בנייה מאומת או להעלות קובץ לשימוש מהאחסון המקומי.
איור 14. משאבי בדיקה.
למטה מוצג החלון הקופץ לבחירת משאב בדיקה לפי כתובת אתר. אפשר להזין את כתובת ה-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. אפשר להשתמש בכמה מסננים ולהפריד ביניהם באמצעות פסיקים. המסנן מחזיר את כל השורות שמכילות את הטקסט המדויק (לא מחרוזת משנה) בכל עמודה, למעט העמודות סטטוס ונוצר.
מסנן ריק מחזיר את כל השורות. אין כרגע אפשרות לסנן שורות עם ערכים ריקים.
איור 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 להורדה כברירת מחדל על ידי לחיצה על עיון. אם המכינים של היעד מאשרים את הספרייה כמשאב לבדיקה, בוחרים באפשרות ביטול הדחיסה. לאחר מכן מציינים את ספריית היעד היחסית בספריית העבודה הזמנית ואת שמות הקבצים שרוצים לפתוח. אם לא מציינים שמות של קבצים, כל הקבצים יחולצו מהמשאב של הבדיקה.
איור 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. ספריות נוספות שנטענו בחנות הקבצים המקומית.
הפעלת מצב אירוח מרובה
במצב 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.
מחברים בין שני המארחים באמצעות מנהרות 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. כדי לדווח על באגים או להציע הצעות, אפשר לשלוח דוח באגים. שותפים צריכים לדווח על באגים או לשלוח הצעות באמצעות ערוצי השותפים שלהם.