תחנת בדיקת Android של OmniLab

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 מאומת מול גרסאות 3.7 עד 3.11 של Python.

למערכת Ubuntu מגרסה 16.04 או גרסאות קודמות, קודם צריך להוסיף את המאגר של Python 3. לשם כך צריך לבצע הבאים:

  • מריצים את הפקודה הבאה:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • יצירה והתקנה של המאגר מהמקור.

כדי להתקין את Python 3, מריצים את הפקודות הבאות:

sudo apt-get update
sudo apt install python3 python3-distutils

כדי להתקין גרסת Python 3 ספציפית (לדוגמה: 3.10), מריצים את הפקודות האלה במקום זאת:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

הורדת ה-CLI של OmniLab ATS

מורידים את חבילת ממשק שורת הפקודה (CLI) כאן.

הפעלת OmniLab ATS

מפעילים את OmniLab ATS באמצעות הפקודה הבאה:

mtt start

בפעם הראשונה שממשק המשתמש יופעל, יכול להיות שיחלפו כמה דקות עד שהוא יופיע. ממשק ה-CLI מציג כתובת URL כדי לגשת לממשק המשתמש בדפדפן. כברירת מחדל, כתובת ה-URL של האתר היא localhost:8000 במקרה הצורך, ניתן לשנות את יציאת ברירת המחדל במהלך ההפעלה עם הדגל --port.

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

כדי לעדכן לגרסה הנוכחית, מריצים את:

mtt start --force_update

כדי להפסיק את האפליקציה, מריצים את:

mtt stop

כדי להציג רשימה של פקודות אחרות, משתמשים ב:

mtt --help

גיבוי ושחזור של מסד הנתונים

כדי לגבות את מסד הנתונים של OmniLab ATS, עוצרים את האפליקציה ומריצים את הפקודה הבאה: שמגבה את מסד הנתונים הנוכחי בקובץ TAR בשם mtt-backup.tar ספריית הבית שלך:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

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

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

אשף ההגדרה

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

שחזור של גיבוי תצורה

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

שחזור הגיבוי של ההגדרות האישיות

איור 1. מתבצע שחזור של גיבוי של הגדרות אישיות.

הגדרת חשבון השירות שמשמש כברירת מחדל

אפשר להגדיר חשבון שירות. שבו OmniLab ATS משתמש כברירת מחדל בגישה למשאבים שלכם (לדוגמה, Google Cloud Storage, Google Drive). כדי לאמת את חשבון השירות, לוחצים על Upload Service Account Key (העלאת מפתח של חשבון שירות) ובוחרים את קובץ מפתח ה-JSON של חשבון השירות שלך.

הגדרת חשבון שירות

איור 2. הגדרת חשבון השירות.

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

החלפת חשבון השירות

איור 3. שינוי של חשבון השירות.

ייבוא של קבוצות הגדרות

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

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

ייבוא קבוצות תצורה

איור 4. ייבוא של קבוצת תצורה.

הכללת הגדרות Wi-Fi

בחלק מבדיקות ה-CTS, המכשיר צריך להתחבר לנקודת Wi-Fi לשיתוף אינטרנט. כדי לבחור את רשת Wi-Fi, מזינים את SSID של Wi-Fi ואופציונלי, Wi-Fi PSK.

הגדרות Wi-Fi

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

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

חיבור מכשיר

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

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

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

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

  3. מחברים את המכשיר למכונה המארחת באמצעות USB.

    המכשיר מופיע בכרטיסייה OmniLab ATS devices תוך דקה אחרי רענון ממשק האינטרנט. אפשר גם לראות את מצב המכשירים ב- הכרטיסייה הזו.

    חיבור מכשיר

    איור 6. מתבצע חיבור של מכשיר.

מצבי המכשיר השונים הם:

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

הפעלת בדיקה

בחירת בדיקה

OmniLab ATS מגיע עם קבוצה של תצורות CTS בחבילות מראש. כדי להריץ אחד מ- בבדיקות האלה, נכנסים לכרטיסייה 'חבילות בדיקה' ולוחצים על הרצת בדיקה לבדיקה.

בחירת בדיקה

איור 7. בוחרים בדיקה.

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

הגדרת הרצת הבדיקה

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

אפשר להשלים את השלב הזה עם ערכי ברירת המחדל, אבל אפשר לשנות כל אחד את הפרמטרים, כמו Max Retry ו-Command, בהתאם לצרכים שלכם.

הגדרת הרצת בדיקה

איור 8. הגדרת הרצת בדיקה.

הפרמטרים של הרצת הבדיקה הם:

  • Name – השם של חבילת הבדיקות שרוצים להפעיל.
  • Run count – מספר הפעמים שבהן יש לבצע את הרצת הבדיקה הזו כאשר מתוזמן. הפעלות בדיקה מתוזמנות באמצעות Trade Federation, עם עד 20 תפעל במקביל, אם יש אפשרות לעשות זאת.
  • מקסימום ניסיון חוזר – מספר הפעמים המקסימלי להרצת בדיקה, אם לפחות פעם אחת. נכשל בבדיקה. בדרך כלל הערך הזה מוגדר ל-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
  • device_serial
  • סוג_מכשיר
  • שם מארח
  • מוצר
  • וריאציית המוצר
  • מצב_SIM

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

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

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

פעולות מכשיר

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

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

הוספת פעולות

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

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

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

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

משאבי בדיקה

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

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

בורר המשאבים לבדיקה – כתובת URL של אתר

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

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

בדיקת בורר המשאבים – Google Drive

איור 16. בורר המשאבים לבדיקה – Google Drive.

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

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

איור 17. Test Resource Selector – תמיכה בתבניות עם תווים כלליים לחיפוש.

אפשר גם לבחור קובץ מאחסון הקבצים המקומי של OmniLab ATS. אפשר להעלות קבצים באחסון הזה, או להשתמש ישירות בספריות ובקבצים מקומיים.

בורר המשאבים לבדיקה – חנות קבצים מקומית

איור 18. בורר המשאבים לבדיקה – מאגר קבצים מקומי.

הוספת הגדרות להרצה מחדש

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

הוספת הגדרות להרצה מחדש

איור 19. הוספת הגדרות להרצה מחדש.

התחלת הרצה לניסיון

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

התחלת הרצה לניסיון

איור 20. התחלת הרצה לניסיון.

יצירת תוכנית בדיקה

תוכניות בדיקה משמשות ליצירת הפעלות בדיקה לפי לוח זמנים תקופתי. לדוגמה, מריצה CTS 9.0 כל יום בשעה 17:00. כדי ליצור תוכנית בדיקה חדשה, לוחצים על יצירת תוכנית בדיקה חדשה תוכנית בדיקה חדשה.

יצירת תוכנית לבדיקה

איור 21. יצירת תוכנית לבדיקה.

הגדרת תוכנית בדיקה

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

  • ידנית – תוכנית הבדיקה יוצרת הרצת בדיקה רק כשמשתמש לוחץ מפעילים את תוכנית הבדיקה בדף של רשימת תוכניות הבדיקה.
  • תקופתי - תוכנית הבדיקה מתזמנת באופן אוטומטי את הרצת הבדיקות נבחר לוח זמנים תקופתי. לדוגמה, תזמון הרצת בדיקה מדי יום בשעה 17:00.
  • מותאם אישית – תוכנית הבדיקה מתזמנת באופן קבוע את הבדיקות על סמך הוזן ביטוי cron. לדוגמה, כדי לתזמן הרצת בדיקה מדי יום בשעה 17:00, ביטוי ה-cron 0 17 * * *

הגדרת תוכנית הבדיקה

איור 22. הגדרה של תוכנית בדיקה.

הוספה של חבילות בדיקה

כדי להוסיף חבילות בדיקה שרוצים לתזמן לפי תוכנית הבדיקה, לוחצים על + הוספה בדיקת ההגדרות האישיות. בוחרים חבילת בדיקות מהתפריט הנפתח Name ולוחצים על השלב הבא. לאחר מכן בוחרים את המכשירים שבהם רוצים להריץ את הבדיקה לוחצים על Add Configuration (הוספת הגדרה). אפשר להוסיף הגדרות מרובות לכל בדיקה בתוכנית.

הגדרת הרצת בדיקה

איור 23. הגדרת הרצת בדיקה.

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

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

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

איור 24. מתבצעת הוספה של פעולות במכשיר.

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

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

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

איור 25. הגדרת משאבים לבדיקה.

צפייה בהפעלות הבדיקה

רשימת הרצה לבדיקה

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

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

מסנן ריק מחזיר את כל השורות. אין כרגע דרך לסנן לפי שורות עם ערכים ריקים.

רשימת הרצת בדיקה

איור 26. רשימה להרצה לבדיקה.

פרטי ההרצה של הבדיקה

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

פרטי הרצת הבדיקה

איור 27. פרטי ההרצה של הבדיקה.

סטטוס הרצה לבדיקה

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

סטטוס הרצה לניסיון

איור 28. סטטוס ההרצה של הבדיקה.

המצבים של הרצת הבדיקה הם:

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

ביטול הרצת בדיקה

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

ביטול הרצת הבדיקה

איור 29. ביטול הרצת בדיקה.

בדיקת תוצאות ההרצה

בסיום הרצת הבדיקה, התוצאות נאספות ומוצגות. אפשר להציג פרטים נוספים על ידי לחיצה על החץ בכל הפעלה. לוחצים על הצגת הפלט קבצים כדי לראות את פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) שנאספו, כמו test_result.xml ו- test_result_failures.html

תוצאות הבדיקה

איור 30. בדיקת תוצאות ההרצה.

בכרטיסייה 'יומנים' אפשר לצפות ביומנים של מארחים ו-טרי הם.

בדיקת יומני הרצה

איור 31. הכרטיסייה 'יומנים'.

התוצאות של מודולים נפרדים נמצאות בכרטיסייה 'תוצאות בדיקה'.

הכרטיסייה 'תוצאות בדיקה'

איור 32. כרטיסיית 'תוצאות בדיקה'.

כדי להוריד את הקבצים שמשמשים כמשאבי בדיקה, לוחצים על Open (פתיחה) בקטע בכרטיסייה 'משאבים לבדיקה'.

הכרטיסייה 'משאבי בדיקה'

איור 33. בכרטיסייה 'משאבים לבדיקה'.

כדי לראות את הפרטים של הרצת הבדיקה, למשל create_time, עוברים לכרטיסייה 'הגדרה'.

הכרטיסייה 'הגדרת הבדיקה'

איור 34. הכרטיסייה 'הגדרה'.

תכונות מתקדמות

ניהול קובצי תצורה

ב-OmniLab ATS משתמשים בקובצי תצורה שנכתבו ב-YAML כדי טוענות אפשרויות מוגדרות מראש כמו בדיקות, פיתוח ערוצים ופעולות במכשיר. קובץ תצורה לדוגמה:

// 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 שלהם על ידי לחיצה ייבוא ובחירת קובץ התצורה.

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

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

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

איור 36. הכרטיסייה 'פעולות במכשיר'.

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

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

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

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

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

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

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

  3. לוחצים על Add Target Preparer (הוספת טירגוט).

  4. מזינים את היעד של Trade Federation השם המלא של הכיתה של המכין, לדוגמה, com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

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

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

    רשימה של מתכוננים זמינים לטירגוט מופיעה com.android.tradefed.targetprep הפניה.

    רשימת מתכוננים ליעד

    איור 40. רשימת מתכוננים לטירגוט.

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

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

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

  6. כדי להוסיף אפשרות, לוחצים על Add Target Preparer (הוספת אפשרות לטירגוט) ומזינים את הפקודה הערכים הנדרשים.

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

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

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

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

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

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

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

    איור 44. פעולה – שמירת השינויים.

ניהול הבדיקות

עריכת בדיקה

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

עריכת בדיקה

איור 45. עריכת בדיקה.

הוספת בדיקה חדשה

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

יצירת בדיקה

איור 46. יצירת בדיקה.

העתקת בדיקה

איור 47. העתקת בדיקה.

ייצוא הגדרות המארח

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

כדי לייצא הגדרות של מארח, צריך לעבור לדף 'הגדרות' וללחוץ על ייצוא בפינה הימנית העליונה.

מתבצע ייצוא של הגדרות המארח

איור 48. מתבצע ייצוא של הגדרות המארח.

כדי לייבא קובץ תצורה של מארח, עוברים לדף Settings (הגדרות) ולוחצים ייבוא בפינה השמאלית העליונה.

ייבוא הגדרות המארח

איור 49. ייבוא הגדרות מארח.

שימוש בספריות ובקבצים מקומיים

החל מגרסה R11, קבצים בספרייה $HOME/.ats_storage נגיש באופן אוטומטי ב-OmniLab ATS. להעתיק או להעביר קובץ למקום הזה שלה, אפשר לבחור אותו בכרטיסייה קובץ מקומי כשמתזמנים קובץ הרצת בדיקה.

cp /path/to/file $HOME/.ats_storage

בחירת קובץ מקומי

איור 50. בחירת קובץ מהספרייה $HOME/.ats_storage.

אפשר לטעון ספריות נוספות למאגר הקבצים המקומי באמצעות סימון --mount_local_path.

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

ספריות טעונות נוספות

איור 51. ספריות נוספות שנטענו במאגר הקבצים המקומי.

הפעלת מצב מארחים מרובים

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

ארכיטקטורה של מצב מארחים מרובים

איור 52. ארכיטקטורה של מצב מארחים מרובים.

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

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

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

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

אם הרשת לא מאפשרת למארחים לתקשר זה עם זה, תצטרכו לפעול לפי הוראות ההגדרה המתקדמות יותר, ב-ATS.

  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 כדי להתאים לקובץ ZIP של התוצאות.
SYSTEM_AVAILABLE_SPACEהפעלת פעולות על סמך המקום הפנוי במערכת.threshold: הפעלת פעולה כשהשטח הזמין יורד מתחת לסף, לדוגמה, 200(B), 200KB, 200MB, 200GB, 2TB.

מדיניות חדשה לניקוי קבצים

איור 53. הוספת מדיניות חדשה לניקוי קבצים.

הגדרות אישיות

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

כל ספריות היעד חייבות להיות בספרייה /data. אם ההגדרה מציינת שספריית היעד היא logs, והיא מפורשת /data/logs.

עריכת ההגדרות של הכלי לניקוי קבצים

איור 54. עורכים את ההגדרות של הכלי לניקוי קבצים.

איפוס

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

איפוס ההגדרות של הכלי לניקוי קבצים

איור 55. איפוס ההגדרות של הכלי לניקוי קבצים.

תמיכה

דוחות איתור באגים

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