OmniLab Android Test Station

‫OmniLab ATS הוא כלי בדיקה שמפתחי Android ומהנדסי בדיקות יכולים להשתמש בו כדי להפעיל ממשק משתמש להרצת חבילות בדיקה סטנדרטיות של Android, כמו חבילת הבדיקה של תאימות Android‏ (CTS). הכלי הזה פועל כממשק אינטרנט למסגרות בדיקה שונות, כמו Trade Federation (TF) ו-Google Mobly, ומאפשר להריץ בדיקות CTS ובדיקות של כמה מכשירים על קבוצה של מכשירי בדיקה עם הגדרה מינימלית, וגם לקבוע לוח זמנים להרצת בדיקות באופן רציף.

הגדרת OmniLab ATS

בקטע הזה מוסבר איך להתקין ולהגדיר את OmniLab ATS.

‫OmniLab ATS משתמש בקוד מקור מהמיקומים הבאים:

התקנה של OmniLab ATS

פועלים לפי דרישות החומרה והתוכנה של חבילות הבדיקה שמריצים.

הדרישות ל-CTS מפורטות בכתובת source.android.com.

אין דרישות חומרה נוספות ל-OmniLab ATS, אבל מומלץ להשתמש בדרישות המארח של CTS כנקודת התחלה.

יש שתי דרכים להתקין את OmniLab ATS:

התקנה באמצעות תוכנית ההתקנה

ב-Ubuntu 20.04 ואילך, תוכנת ההתקנה מתקינה ומגדירה את כל התוכנות והמשאבים שנדרשים להפעלת OmniLab ATS.

כדי להשתמש בתוכנית ההתקנה:

  1. מריצים את תוכנת ההתקנה:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. מריצים את הפקודה mtt version כדי לבדוק את הגרסה המותקנת של OmniLab ATS CLI.

התקנה ידנית

התקנת Docker
  1. פועלים לפי ההוראות להתקנת Docker Community Edition (CE)‎ במחשב Linux.

  2. פועלים לפי השלבים שלאחר ההתקנה כדי לנהל את Docker כמשתמש שאינו Root.

  3. יכול להיות שתצטרכו להפעיל מחדש את חלון הטרמינל או לצאת מהחשבון ולהיכנס אליו שוב כדי שהשינויים בהרשאות ייכנסו לתוקף.

התקנת 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

קבלת 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 (אופציונלי).

הגדרות Wi-Fi

איור 5. הגדרות של נקודת Wi-Fi לשיתוף אינטרנט.

אחרי שמשלימים את הפעולות באשף ההגדרה, הדף נטען מחדש עם ההגדרות החדשות.

חיבור מכשיר

כדי להשתמש במכשיר לבדיקה, צריך להפעיל את האפשרות 'ניפוי באגים ב-USB'. כדי להפעיל ניפוי באגים:

  1. פועלים לפי ההוראות במאמר בנושא הפעלת אפשרויות למפתחים וניפוי באגים.

  2. אם אתם מתכננים להשתמש בגרסאות בדיקה של Android שנטענו מראש עם מפתחות ADB מותאמים אישית, צריך להציב את קובצי .adb_key המותאמים אישית בספרייה ~/.android/.

    הקבצים נטענים אוטומטית ומועברים ל-ADB כדי להפעיל אוטומטית את ניפוי הבאגים ב-USB אחרי שהמכשיר מופעל עבור מכשירים שפועלים עם הגרסאות האלה.

  3. מחברים את המכשיר למכונת המארח באמצעות 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 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
  • שם מארח
  • מכפלה
  • product_variant
  • sim_state

כדי להריץ את הניסיון, כל המכשירים שנבחרו צריכים להיות במצב זמין, וכשהניסיון מופעל, כולם עוברים למצב מוקצה. ריצת בדיקה נמצאת במצב בתור בזמן שהיא ממתינה שמכשירים יהיו זמינים.

הוספת פעולות במכשיר

פעולות במכשיר הן סקריפטים שאפשר להריץ לפני כל הרצת בדיקה. חלק מהפעולות במכשיר כבר מוגדרות, כמו הפעלה מחדש והבהוב. כדי ליצור פעולות חדשות במכשיר, אפשר לעיין במאמר יצירת פעולה חדשה במכשיר.

פעולות מכשיר

איור 12. פעולות במכשיר.

כדי להוסיף פעולה במכשיר להרצת בדיקה, לוחצים על הוספת פעולה חדשה, מסמנים את תיבות הסימון של הפעולות שרוצים להוסיף ולוחצים על הוספת פעולות. הפעולות במכשיר מתבצעות ברצף. אפשר לשנות את סדר הפעולות באמצעות גרירה.

הוספת פעולות

איור 13. שינוי הסדר של הפעולות.

הגדרת משאבי בדיקה

משאבי בדיקה הם קבצים שנדרשים להרצת בדיקה. לדוגמה, כדי להריץ את CTS צריך קובץ android-cts*.zip, וכדי לצרוב ROM למכשיר צריך לספק את קובץ האימג' של ה-build.

כתובת ה-URL להורדה של קובץ ה-ZIP של חבילת הבדיקה צריכה להיות כתובת ברירת המחדל של הקישורים ל-Google Drive שניתנים לשותפים. כדי לבחור קובץ אחר, לוחצים על עיון. בחלון הקופץ, אפשר להזין קישור להורדת קובץ, להשתמש בקובץ מערוץ בנייה מאומת או להעלות קובץ לשימוש מהאחסון המקומי.

משאבי בדיקה

איור 14. משאבי בדיקה.

בהמשך מוצג החלון הקופץ לבחירת משאב לבדיקה לפי כתובת URL של אתר. אפשר להזין את כתובת ה-URL להורדה וללחוץ על הלחצן בחירה כדי לאשר את הבחירה.

בדיקת בוחר משאבים – כתובת URL לאינטרנט

איור 15. בדיקת בוחר משאבים – כתובת URL לאתר.

אם העליתם משאבים ל-Google Drive, ל-Google Cloud Storage‏ (GCS) או לערוצים אחרים, אתם יכולים גם לעבור לכרטיסייה של הערוץ הספציפי ולבחור משאבים משם. הנה דוגמה לבחירת משאב מ-Google Drive.

בדיקת בוחר המשאבים – 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. הכרטיסייה 'פעולות במכשיר'.

הוספת פעולה חדשה למכשיר

  1. לוחצים על פעולת מכשיר חדשה.

    הלחצן 'פעולת מכשיר חדשה'

    איור 37. לחצן הפעולה במכשיר החדש.

  2. מזינים שם ותיאור.

    שם הפעולה במכשיר

    איור 38. שם הפעולה במכשיר.

  3. לוחצים על הוספת כלי להכנת יעד.

  4. מזינים את השם המלא של המחלקה של Trade Federation Target Preparer, לדוגמה, com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    הוספת מכין יעד

    איור 39. הוספת מכין מסמכים ליעד.

    רשימה של מעבדי טירגוט זמינים מופיעה בהפניה אל com.android.tradefed.targetprep.

    רשימת מכיני הדוחות

    איור 40. רשימת מכיני היעד.

  5. מוסיפים אפשרויות לשימוש עם הכלי להכנת יעדים. כדי לראות את האפשרויות הזמינות, צריך לבדוק את targetprep בקוד המקור של כל קובץ להכנת יעד ב-AOSP:

    דוגמה לאפשרות פעולה

    איור 41. דוגמה לאפשרות פעולה.

  6. כדי להוסיף אפשרות, לוחצים על הוספת אפשרות להכנת קובץ יעד ומזינים את הערכים הנדרשים.

    דוגמה לפקודת פעולה

    איור 42. דוגמה לפקודת פעולה.

  7. הגדרת משאבי הבדיקה שנדרשים להפעלת פעולת המכשיר, לדוגמה, יצירת תמונות ל-flashing. כדי להוסיף הגדרת משאב, לוחצים על הוספת משאב בדיקה וממלאים את שדות החובה. אם אתם יודעים איפה הקבצים נמצאים, אתם יכולים לספק כתובת URL להורדה כברירת מחדל על ידי לחיצה על עיון. אם מכיני היעד מאשרים את הספרייה כמשאב לבדיקה, בוחרים באפשרות ביטול הדחיסה. לאחר מכן מציינים את ספריית היעד היחסית בספריית העבודה הזמנית ואת שמות הקבצים שרוצים לבטל את הדחיסה שלהם. אם לא מציינים שמות של קבצים, כל הקבצים יחולצו מהמשאב של הבדיקה.

    מקורות מידע על בדיקות פעולה

    איור 43. משאבים לבדיקת פעולות.

  8. לוחצים על עדכון.

    פעולה: שמירת שינויים

    איור 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. ארכיטקטורה של מצב מרובה מארחים.

  1. כדי להפעיל את בקר ה-ATS, משתמשים בפקודה הבאה:

    mtt start --operation_mode=ON_PREMISE
    
  2. בודקים אם יש גישה לבקר בכתובת http://${CONTROLLER_HOSTNAME}:8000.

  3. כדי להפעיל את העובדים, משתמשים בפקודה הבאה:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

אם הרשת שלכם לא מאפשרת למארחים לתקשר אחד עם השני, צריך לפעול לפי הוראות ההגדרה המתקדמות יותר שבהמשך בנושא ATS worker.

  1. מחברים בין שני המארחים באמצעות מנהרות SSH. בוחרים יציאות לשרת הראשי וליציאות של שרת הקבצים, לדוגמה, 9000 ו-9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. מגדירים את 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 יש שתי הגדרות ברירת מחדל לארכוב תוצאות של הרצת בדיקות ומחיקה של קבצים זמניים. במדריך הזה מוסבר איך להתאים אישית את המדיניות וההגדרות כדי לנהל את הקבצים בצורה יעילה.

מדיניות

מדיניות מגדירה את הפעולה שתתבצע על קבצים או ספריות, ואת הקריטריונים לבחירת יעדים. הפעולות הזמינות מפורטות בטבלה:

סוג הפעולהפרמטרים
ARCHIVEremove_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. כדי לדווח על באגים או להציע הצעות, אפשר לשלוח דוח באגים. שותפים צריכים לדווח על באגים או לשלוח הצעות באמצעות ערוצי השותפים שלהם.