בקטע הזה מתוארים הרכיבים הפנימיים של Tradefed והיחסים ביניהם. פרטים נוספים זמינים בדפי המשנה המקושרים.
הגדרות הבדיקה
הגדרות הבדיקה ב-Trended מתוארות בפורמט XML. הבנת המבנה של ההגדרה היא המפתח להרצה ולהתאמה אישית של בדיקות.
המבנה של הגדרות TF
הגדרות TF גלובליות
קובץ תצורה גלובלי הוא קובץ XML מיוחד של Tradefed שנטען כש-Tradefed מופעל דרך משתנה הסביבה TF_GLOBAL_CONFIG
. הוא טוען אובייקטים שקשורים להיקף של מכונה ב-Tradefed, שישפיעו על ההתנהגות הכוללת של ערכת הכלים.
מאגר מפתחות
Keystore מאפשר להחדיר ל-Tradefed אפשרויות של שורת הפקודה שמגיעות מ-keystore, כדי להימנע מהפניה לערך ישירות בשורת הפקודה. אפשר להשתמש באפשרות הזו כדי להסתיר סיסמאות משורת הפקודה על ידי אחזור שלהן ישירות ממאגר המפתחות.
ניהול מכשירים
מנהל המכשירים אחראי למעקב אחרי מצב המכשירים במכונה שפועלת של Tradefed. המערכת עוקבת אחרי היבטים כמו סטטוס ההקצאה וסטטוס הפעילות באינטרנט.
מתזמן פקודות לבדיקה
מתזמן הפקודות לבדיקה ב-Trended מקבל פקודות להרצה, משייך אותן למכשירים ומתחיל הרצת בדיקה.
ספק build
ספק ה-build הוא השלב הראשון בכל הפעלת בדיקה. הוא מוריד את המשאבים הנדרשים להגדרה ולהפעלה של הבדיקות (תמונות build, חבילות APK לבדיקה ועוד). הוא גם מפנה אליהם באובייקט BuildInfo
שיעבור לבדיקה. אפשר גם לקשר משאבים שזמינים באופן מקומי באובייקט BuildInfo
.
הכנת יעד וניקוי יעד
הכלי להכנת היעד מציע פעולות אופציונליות שאפשר לבצע כדי להגדיר את היעד שנבדק למצב מסוים, למשל, הפעלת תוכנה במכשיר, הגדרת מאפיינים מסוימים והתחברות ל-Wi-Fi.
מפעיל בדיקות
הרצת בדיקה ב-Trended מתייחסת לאובייקט שאחראי לביצוע הבדיקה בפועל. כלים שונים להרצת בדיקות מריצים את הבדיקות בדרכים שונות. לדוגמה, הבדיקה שתתבצע באמצעות הכלי להרצת בדיקות של Instrumentation תהיה שונה מאוד מבדיקה שתתבצע באמצעות הכלי להרצת בדיקות של JUnit.
מדווח/ת על התוצאה
דיווח על תוצאות ב-Tradefed מתייחס לאובייקט ששולח את התוצאות ליעד מסוים. בדרך כלל, כל הטמעה מתמקדת בקצוות עורפי שונים של תוצאות. הכלי לדיווח על התוצאות אחראי על המרת הפורמט של תוצאות Tradefed לפורמט היעד.
בזכות העיצוב הגמיש הזה, כל בדיקה יכולה לדווח על כל יעד תוצאה ואפשר להוסיף בקלות עוד בדיקות בצורה מבודדת.
אגרוף מדדים
אוסף המדדים הוא אובייקט מיוחד ב-Tradefed, שלא קשור לביצוע הבדיקה. היא מאפשרת לאסוף מידע בנקודות שונות במחזור החיים של הבדיקה (למשל: התחלת הבדיקה, סיום הבדיקה). מכיוון שהאוסף מנותק מהבדיקה עצמה, אפשר להחליף, להוסיף ולהסיר את הנקודות בלי לשנות את הבדיקה עצמה.
הגדרה ברמת המארח
בקטע הזה מתוארות הגדרות שחלות על הפעלה של מכונה מלאה של Tradefed. האפשרויות האלה משפיעות על ההתנהגות של ערכת הכלים בכללותה כדי להתאים אותה לסביבות שונות, למשל רשת מוגבלת.
תכונות נוספות
בקטעים הבאים מתואר שימוש כללי באובייקטים של TradeFedEx ולא של Tradeified.
חיתוך עם מסחר אלקטרוני
אם מאגר הבדיקה גדול או שנדרש זמן רב להרצה שלו, אפשר לפצל אותו לכמה מכשירים. אנחנו מכנים את הפיצול הזה חלוקה לפלחים. בקטע הזה נסביר איך פועל הפיצול ואיך הוא מוגדר.
שימוש ב-SL4A
ב-Trended יש תמיכה בשכבת הסקריפטים ל-Android, SL4A. זהו כלי אוטומציה לקריאה לממשקי ה-API של Android באופן בלתי-תלוי בפלטפורמה.
הורדה דינמית של @option
במקרים מסוימים, הקבצים הנדרשים לבדיקה או לפעולה מסוימת לא זמינים באופן מקומי. התכונה הזו מאפשרת ל-Tradefed לקבל את הקבצים האלה ממיקום מרוחק בלי לעבור דרך ספק build.