UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
   ↳ com.android.tradefed.testtype.UiAutomatorRunner


מריץ בדיקה של UI Automator במכשיר ומדווח על התוצאות. בדיקת UI Automator היא כלי ייעודי להרצת בדיקות אוטומציה של ממשקי משתמש, שמבוסס על מסגרת UI Automator. הכלי להרצת בדיקות במכשיר מדמה את פורמט הפלט של בדיקות המכשיר, כך שאפשר לעשות שימוש חוזר בקוד הניתוח הקיים ב-ddmlib וב-TF. בעצם, זוהי עטיפה סביב הפקודה הזו: adb shell uiautomator runtest (jar files) -e class (test classes) ...

סיכום

Constructors ציבוריים

UiAutomatorRunner(IDevice remoteDevice, String[] jarPaths, String runnerPath)

יצירת UiAutomatorRunner להרצת בדיקות אוטומציה של ממשק משתמש

‫methods ציבוריים

void addBooleanArg(String name, boolean value)

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

void addInstrumentationArg(String name, String value)

מוסיף ארגומנט להכללה בפקודת האינסטרומנטציה.

void cancel()

בקשה לביטול של הרצת הבדיקה הזו.

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

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

String getPackageName()

הפונקציה מחזירה את שם החבילה של מחלקת ה-Java האחרונה שנוספה

String getRunnerName()

מחזירה את שם המחלקה UiAutomatorTestRunner שמוגדר כברירת מחדל

void removeInstrumentationArg(String name)

מסירה ארגומנט שנוסף קודם.

void run(ITestRunListener... listeners)

מריצים את הבדיקה הזו.

void run( listeners)

מריצים את הבדיקה הזו.

void setAdditionalTestOutputLocation(String additionalTestDataPath)

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

void setClassName(String className)

הגדרת הרצת בדיקות רק במחלקה הזו. צריך להפעיל את הפונקציה הזו לפני הפונקציה run.

void setClassNames(String[] classNames)

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

void setCoverage(boolean coverage)

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

void setCoverageReportLocation(String arg0)

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

void setDebug(boolean debug)

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

void setIgnoreSighup(boolean value)

מגדיר את האפשרות ב-uiautomator להתעלם מ-SIGHUP.

void setLogOnly(boolean logOnly)

ההגדרה הזו מעבירה את הרצת הבדיקה למצב של רישום ביומן בלבד – דילוג על ביצוע הבדיקה.

void setMaxTimeToOutputResponse(long timeout, TimeUnit unit)

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

void setMaxTimeout(long maxTimeout, TimeUnit unit)

הגדרה של הזמן המקסימלי שמוקצב לסיום ההטמעה.

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

השיטה הזו הוצאה משימוש. במקומה צריך להשתמש ב-setMaxTimeToOutputResponse(long, TimeUnit).

void setMethodName(String className, String testName)

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

void setRunName(String runName)

הגדרת שם הפעלה בהתאמה אישית לדיווח אל ITestRunListener בתאריך run()

אם לא מציינים שם, המערכת משתמשת בשם החבילה

void setTestCollection(boolean b)

הגדרת הבדיקה הזו למצב איסוף נתונים.

void setTestPackageName(String packageName)

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

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

הגדרת הפעלה רק של בדיקות בגודל נתון.

שיטות מוגנות

String getRunCommand()
String getRunnerPath()

Constructors ציבוריים

UiAutomatorRunner

public UiAutomatorRunner (IDevice remoteDevice, 
                String[] jarPaths, 
                String runnerPath)

יצירת UiAutomatorRunner להרצת בדיקות אוטומציה של ממשק משתמש

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

jarPaths String: הנתיבים לקובצי jar שבהם נמצאים תרחישי הבדיקה של UI Automator. הנתיבים צריכים להיות מוחלטים או יחסיים ל-‎ /data/local/tmp/ ‎ במכשיר

runnerPath String: רץ uiautomator חלופי לשימוש, יכול להיות null ובמקרה כזה ייעשה שימוש בברירת המחדל

‫methods ציבוריים

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

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

פרמטרים
name String: השם של הארגומנט של חבילת המכשירים

value boolean: הערך של הארגומנט

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

מוסיף ארגומנט להכללה בפקודת האינסטרומנטציה.

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

פרמטרים
name String: השם של הארגומנט של חבילת המכשירים

value String: הערך של הארגומנט

ביטול

public void cancel ()

בקשה לביטול של הרצת הבדיקה הזו.

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

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

החזרות
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

הפונקציה מחזירה את שם החבילה של מחלקת Java האחרונה שנוספה

החזרות
String

getRunnerName

public String getRunnerName ()

מחזירה את שם המחלקה UiAutomatorTestRunner שמוגדר כברירת מחדל

החזרות
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

מסירה ארגומנט שנוסף קודם.

פרמטרים
name String: השם של הארגומנט של חבילת כלי המדידה להסרה

ראן

public void run (ITestRunListener... listeners)

מריצים את הבדיקה הזו.

שיטה נוחה לשימוש ב-ERROR(/#run(Collection)).

פרמטרים
listeners ITestRunListener: מאזין לתוצאות הבדיקה

זריקות
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

ראן

public void run ( listeners)

מריצים את הבדיקה הזו.

פרמטרים
listeners : אוסף של פונקציות מסוג listener לתוצאות הבדיקה

זריקות
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

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

פרמטרים
additionalTestDataPath String

setClassName

public void setClassName (String className)

הגדרת הרצת בדיקות רק במחלקה הזו. צריך להפעיל את הפונקציה הזו לפני הפונקציה run.

פרמטרים
className String: שם המחלקה המלא (לדוגמה x.y.z)

setClassNames

public void setClassNames (String[] classNames)

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

אם מספקים יותר ממחלקה אחת, צריך להשתמש ב-InstrumentationTestRunner שתומך בתחביר של ארגומנטים של כמה מחלקות.

פרמטרים
classNames String: מערך של שמות מחלקות מלאים (למשל x.y.z)

setCoverage

public void setCoverage (boolean coverage)

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

פרמטרים
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

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

פרמטרים
arg0 String

setDebug

public void setDebug (boolean debug)

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

פרמטרים
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

מגדיר את האפשרות ב-uiautomator להתעלם מ-SIGHUP.

פרמטרים
value boolean: התעלמות מהאות אם הערך הוא true

setLogOnly

public void setLogOnly (boolean logOnly)

ההגדרה הזו מעבירה את הרצת הבדיקה למצב של רישום ביומן בלבד – דילוג על ביצוע הבדיקה.

פרמטרים
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

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

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

כברירת מחדל, לא יצוין זמן קצוב לתפוגה.

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

unit TimeUnit: יחידות לערכים שונים מאפס של maxTimeToOutputResponse ו-maxTimeout.

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

הגדרה של הזמן המקסימלי שמוקצב לסיום ההטמעה.

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

כברירת מחדל, לא יצוין זמן קצוב לתפוגה.

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

unit TimeUnit: יחידות לערכים שונים מאפס של maxTimeToOutputResponse ו-maxTimeout.

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

השיטה הזו הוצאה משימוש.
במקום זאת, צריך להשתמש ב-setMaxTimeToOutputResponse(long, TimeUnit).

פרמטרים
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

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

פרמטרים
className String: שם המחלקה המלא (לדוגמה x.y.z)

testName String: שם השיטה

setRunName

public void setRunName (String runName)

הגדרת שם הפעלה בהתאמה אישית לדיווח אל ITestRunListener בתאריך run()

אם לא מציינים שם, המערכת משתמשת בשם החבילה

setTestCollection

public void setTestCollection (boolean b)

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

פרמטרים
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

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

פרמטרים
packageName String: שם החבילה המלא (למשל x.y.z)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

הגדרת הפעלה רק של בדיקות בגודל נתון. חובה להפעיל את הפונקציה לפני הפעלת הפקודה run.

פרמטרים
size IRemoteAndroidTestRunner.TestSize: TestSize שצריך להריץ.

שיטות מוגנות

getRunCommand

protected String getRunCommand ()

החזרות
String

getRunnerPath

protected String getRunnerPath ()

החזרות
String