UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

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


מריץ בדיקה של UI Automator במכשיר ומדווח על התוצאות. בדיקת UI Automator היא כלי ייעודי להרצת בדיקות אוטומטיות של ממשקי משתמש, שמבוסס על ה-framework של 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()

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

String getPackageName()

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

String getRunnerName()

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

void removeInstrumentationArg(String name)

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

void run(ITestRunListener... listeners)

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

void run(Collection<ITestRunListener> 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)

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

void setMethodName(String className, String testName)

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

void setRunName(String runName)

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

אם לא צוין, ייעשה שימוש בשם החבילה

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 ()

הפונקציה מחזירה את סוג כיסוי הבדיקה שנוצר על ידי ה-runner. מומלץ לקרוא את 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)

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

שיטה נוחה ל-run(Collection).

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

הקפצת הודעות שגיאה (throw)
AdbCommandRejectedException
IOException
ShellCommandUnresponsiveException
TimeoutException

ראן

public void run (Collection<ITestRunListener> listeners)

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

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

הקפצת הודעות שגיאה (throw)
AdbCommandRejectedException
IOException
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(ITestRunListener)

אם לא צוין, ייעשה שימוש בשם החבילה

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