השתמש בסוויטה נסה שוב

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

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

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

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

יישם ניסיון חוזר של חבילה

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

הממשק העיקרי המניע את הניסיון החוזר הוא ITestSuiteResultLoader , המאפשר לך לטעון תוצאה קודמת, ואת שורת הפקודה הקודמת.

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

ניסיון חוזר של חבילה לדוגמה: CTS

תצורת הניסיון החוזר ב-CTS היא:

<configuration description="Runs a retry of a previous CTS session.">
    <object type="previous_loader" class="com.android.compatibility.common.tradefed.result.suite.PreviousResultLoader" />
    <test class="com.android.tradefed.testtype.suite.retry.RetryRescheduler" />

    <logger class="com.android.tradefed.log.FileLogger">
        <option name="log-level-display" value="WARN" />
    </logger>
</configuration>

זה חל על רוב הסוויטות שמרחיבות אותו, למשל VTS ).

זה יופעל באמצעות:

cts-tradefed run retry --retry <session>

הפגישה תימצא על ידי רישום התוצאות הקודמות במסוף CTS:

cts-tf > l r
Session  Pass  Fail  Modules Complete  Result Directory     Test Plan  Device serial(s)  Build ID   Product
0        2092  30    148 of 999        2018.10.29_14.12.57  cts        [serial]          P          Pixel

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

לדוגמה:

cts-tradefed run cts-dev -m CtsGestureTestCases

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

הגדר ניסיון חוזר עבור חבילה בסגנון CTS

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

<result_reporter class="com.android.compatibility.common.tradefed.result.suite.CompatibilityProtoResultReporter" />

יש להוסיף את זה לתצורת ה-XML של הפקודה הראשית, וזה יביא ליצירת קובץ test-record.pb בתיקיית התוצאות.

לאחר מכן, ניסיון ה-CTS מחדש טוען נתונים משילוב של ה- test-record.pb וה- test_result.xml הקיים כדי להכין את הזמנת הניסוי החוזר.