ארכיטקטורת Tradefed

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

בדיקת תצורות

תצורות בדיקה ב-Tradefed מתוארות בפורמט XML. הבנת מבנה התצורה היא המפתח להרצה והתאמה אישית של בדיקות.

מבנה של תצורות TF

תצורות TF גלובליות

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

פרטי תצורה גלובליים

מאגר מפתחות

Keystore מאפשר הזרקת אפשרויות שורת פקודה ל-Tradefed המגיעות מחנות מפתחות על מנת להימנע מהפניה לערך ישירות בשורת הפקודה. זה יכול לשמש כדי להסתיר סיסמאות משורת הפקודה על ידי אחזור סיסמאות ישירות ממאגר המפתחות.

פרטי חנות המפתחות

מנהל התקן

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

מתזמן פקודות בדיקה

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

ספק בנייה

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

מכין מטרה ומנקה

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

רץ מבחן

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

כתב תוצאות

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

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

אספן מדדים

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

הגדרה כלל מארח

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

תכונות נוספות

הסעיפים הבאים מתארים את השימוש הכללי באובייקטי Tradefed ולא ב-Tradefed.

רסיסי טרייד

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

חלוקת פרטים

באמצעות SL4A

Tradefed תומך בשכבת הסקריפט עבור אנדרואיד, SL4A; זהו ערכת כלים אוטומציה לקריאה לממשקי API של אנדרואיד באופן בלתי תלוי בפלטפורמה.

SL4A עם פרטי Tradefed

הורדת אפשרות @ דינמית

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

הורדת אפשרות @ דינמית

,

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

בדיקת תצורות

תצורות בדיקה ב-Tradefed מתוארות בפורמט XML. הבנת מבנה התצורה היא המפתח להרצה והתאמה אישית של בדיקות.

מבנה של תצורות TF

תצורות TF גלובליות

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

פרטי תצורה גלובליים

מאגר מפתחות

Keystore מאפשר הזרקת אפשרויות שורת פקודה ל-Tradefed המגיעות מחנות מפתחות על מנת להימנע מהפניה לערך ישירות בשורת הפקודה. זה יכול לשמש כדי להסתיר סיסמאות משורת הפקודה על ידי אחזור סיסמאות ישירות ממאגר המפתחות.

פרטי חנות המפתחות

מנהל התקן

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

מתזמן פקודות בדיקה

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

ספק בנייה

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

מכין מטרה ומנקה

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

רץ מבחן

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

כתב תוצאות

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

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

אספן מדדים

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

הגדרה כלל מארח

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

תכונות נוספות

הסעיפים הבאים מתארים את השימוש הכללי באובייקטי Tradefed ולא ב-Tradefed.

רסיסי טרייד

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

חלוקת פרטים

באמצעות SL4A

Tradefed תומך בשכבת הסקריפט עבור אנדרואיד, SL4A; זהו ערכת כלים אוטומציה לקריאה לממשקי API של אנדרואיד באופן בלתי תלוי בפלטפורמה.

SL4A עם פרטי Tradefed

הורדת אפשרות @ דינמית

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

הורדת אפשרות @ דינמית