MonkeyDevice

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

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

בדרך כלל לא צריך ליצור מופע של MonkeyDevice. במקום זאת, להשתמש MonkeyRunner.waitForConnection() כדי ליצור אובייקט חדש מחיבור למכשיר, או אמולטור. לדוגמה, במקום באמצעות:

newdevice = MonkeyDevice()

שבו אתם משתמשים:

newdevice = MonkeyRunner.waitForConnection()

סיכום

קבועים
string למטה צריך להשתמש בפלח הזה עם הארגומנט type של press() או touch() כדי לשלוח אירוע DOWN.
string למעלה צריך להשתמש בפלח הזה עם הארגומנט type של press() או touch() כדי לשלוח אירוע UP.
string DOWN_AND_UP צריך להשתמש בפלח הזה עם הארגומנט type של press() או touch() כדי לשלוח אירוע DOWN מיד ואחריו אירוע UP.
שיטות
ריק כוונת שידור (URI של מחרוזת, פעולת מחרוזת, נתוני מחרוזת, mimetype מחרוזת, קטגוריות ניתנות למדידה תוספות מילון, רכיב רכיב, דגלים שחוזרים)
משדר Intent למכשיר הזה, כאילו ה-Intent הגיע תרגום מכונה.
ריק גרירה (התחלה ב-tuple, סוף tuple, משך הזמן של float, מספרים שלמים
מדמה תנועת גרירה (נגיעה, החזקה והזזה) במסך של המכשיר הזה.
אובייקט getProperty (מפתח מחרוזת)
בהינתן השם של משתנה סביבת מערכת, הפונקציה מחזירה את הערך שלו עבור המכשיר הזה. שמות המשתנים הזמינים מפורטים כאן: לתיאור מפורט של השיטה הזו.
אובייקט getSystemProperty (מפתח מחרוזת)
. המקביל ל-API של adb shell getprop <key>. This is provided for use by platform developers.
ריק installPackage (נתיב מחרוזת)
מתקין את אפליקציית Android או את חבילת הבדיקה שכלולה ב-packageFile במכשיר. אם האפליקציה או חבילת הבדיקה כבר מותקנות, הן מוחלפות.
מילון כלים (string className, ארגומנטים במילון)
מריצה את הרכיב שצוין בהגדרות של Android, ומחזירה את התוצאות במילון שהפורמט המדויק שלו נקבע על ידי הרכיב שרץ. הרכיב כבר צריך להיות קיים במכשיר הזה.
ריק הקשה (שם מחרוזת, סוג מילון)
שולחת את האירוע המרכזי שצוין לפי סוג למפתח שצוין על ידי קוד מפתח.
ריק הפעלה מחדש (מחרוזת ל)
הפעלה מחדש של המכשיר בתוכנת האתחול שצוינה באמצעותbooloadType.
ריק removePackage (חבילת מחרוזת)
מחיקת החבילה שצוינה מהמכשיר, כולל הנתונים והמטמון שלה.
אובייקט מעטפת (מחרוזת cmd)
מפעילה פקודת מעטפת adb ומחזירה את התוצאה, אם יש כזו.
ריק startActivity (URI של מחרוזת, פעולת מחרוזת, נתוני מחרוזת, mimetype מחרוזת, קטגוריות ניתנות למדידה תוספות מילון, רכיב רכיב, דגלים)
מתחילה פעילות במכשיר הזה על ידי שליחת Intent שנוצר הארגומנטים שסופקו.
MonkeyImage TakeSnapshot()
מתעד את כל שטח האחסון הזמני של המסך במכשיר, ויוצר אובייקט MonkeyImage שמכיל צילום מסך של התצוגה הנוכחית.
ריק touch (integer x, שלם y, סוג מספר שלם)
שליחה של אירוע מגע שצוין לפי סוג למיקום המסך שצוין על ידי x ו-y.
ריק type (הודעת מחרוזת)
שולח את התווים שבהודעה למכשיר זה, כאילו הם שהוקלד במקלדת של המכשיר. הפעולה הזו מקבילה להתקשרות press() לכל קוד מפתח ב-message באמצעות אירוע מרכזי מסוג DOWN_AND_UP.
ריק wake ()
הוצאת המסך של המכשיר הזה ממצב שינה.

קבועים

מחרוזת למטה

press() או ערך touch(). מציינת שיש לשלוח למכשיר אירוע מסוג 'למטה', שתואם ל- לחיצה ארוכה על מקש או נגיעה במסך.

מחרוזת למעלה

press() או ערך touch(). מציינת שיש לשלוח למכשיר אירוע מסוג UP, בהתאם ל- שחרור של מפתח או להרים את הקו מהמסך.

מחרוזת למטה_AND_UP

press(), touch() או ערך type(). מציינת שצריך לשלוח את סוג האירוע 'למטה' ולאחר מכן את סוג האירוע UP אל המתאים להקלדה של מקש או ללחיצה על המסך.

שיטות ציבוריות

ריק כוונת שידור ( URI של string, פעולת string, נתוני string, mimetype ב-string, קטגוריות שניתנות למדידה תוספות מילונים, רכיב רכיב, דגלים שחוזרים על עצמם)

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

ארגומנטים
URI ה-URI של ה-Intent. (מידע נוסף זמין בכתובת Intent.setData()).
פעולה הפעולה עבור ה-Intent הזה (מידע נוסף זמין בכתובת Intent.setAction()).
נתונים ה-URI של הנתונים ל-Intent הזה (מידע נוסף זמין בכתובת Intent.setData()).
mimetype סוג MIME של ה-Intent (מידע נוסף זמין בכתובת Intent.setType()).
קטגוריות מבנה נתונים איטרטיבי שמכיל מחרוזות שמגדירות קטגוריות כוונת רכישה (ראו Intent.addCategory()).
תוספות מילון של נתונים נוספים ל-Intent הזה (ראו Intent.putExtra() כדוגמה).

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

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

ריק גרירה ( התחלה ב-tuple, סוף tuple, משך הזמן של float, מספרים שלמים שלבים)

מדמה תנועת גרירה (נגיעה, החזקה והזזה) במסך של המכשיר הזה.

ארגומנטים
התחל נקודת ההתחלה של תנועת הגרירה, בצורת צבעון (x,y) כאשר x ו-y הם מספרים שלמים.
מקש End נקודת הסיום של תנועת הגרירה, בצורת tuple (x,y) כאשר x ו-y הם מספרים שלמים.
משך משך הזמן של תנועת הגרירה בשניות. ערך ברירת המחדל הוא 1.0 שניות.
צעדים מספר השלבים שצריך לבצע כשמבצעים אינטרפולציה של נקודות. ערך ברירת המחדל הוא 10.

אובייקט getProperty (מפתח string)

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

ארגומנטים
מפתח השם של משתנה הסביבה של המערכת. שמות המשתנים הזמינים מפורטים כאן טבלה 1. שמות המשתנים של הנכסים בסוף הנושא הזה.
החזרות
  • הערך של המשתנה. פורמט הנתונים משתנה בהתאם למשתנה המבוקש.

אובייקט getSystemProperty (מפתח string)

מילה נרדפת ל-getProperty().

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

ריק installPackage (נתיב מחרוזת)

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

ארגומנטים
נתיב הנתיב ושם הקובץ המוגדרים במלואם של הקובץ .apk להתקנה.

מילון כלי נגינה ( string className, ארגומנטים מילון)

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

תוכלו להשתמש בשיטה הזו כדי להתחיל תרחיש לדוגמה שמשתמש באחד ממחלקות הבדיקה של Android. לעיון בקטע בדיקות יסודות לקבלת מידע נוסף על בדיקת יחידות באמצעות הבדיקה ב-Android .

ארגומנטים
שם כיתה השם של רכיב Android שכבר מותקן במכשיר הזה - formname/classname בפורמט הרגיל, כאשר packagename הוא שם החבילה ב-Android של קובץ .apk במכשיר הזה, וגם classname הוא שם הסיווג של רכיב Android (פעילות, ContentProvider, Service או BroadcastReceiver) בקובץ הזה. שתי השיטות packagename ו-classname צריכים להיות מוגדרים במלואם. צפייה אפשר לקבל פרטים נוספים בComponentName.
ארגומנטים מילון שמכיל דגלים והערכים שלהם. הקבצים האלה מועברים לרכיב מתחילה. אם הדגל לא מקבל ערך, מגדירים את ערך המילון שלו כערך ריק String.
החזרות
  • מילון שמכיל את הפלט של הרכיב. תוכן המילון מוגדרים על ידי הרכיב עצמו.

    אם משתמשים ב-InstrumentationTestRunner כשם הכיתה ב- הארגומנט רכיבName, מילון התוצאה מכיל לזרם של המַפתח היחיד. הערך של 'stream' היא מחרוזת שמכילה פלט הבדיקה, כאילו הפקודה InstrumentationTestRunner הורץ בשורת הפקודה. הפורמט של הפלט הזה מתואר ב בדיקה בסביבות פיתוח משולבות (IDE) אחרות.

ריק הקשה (שם string, סוג integer)

שליחה של האירוע המרכזי שצוין על ידי type למַפְתח שצוין על ידי keycode.

ארגומנטים
שם שם קוד המפתח לשליחה. עבור KeyEvent לרשימה של שמות של קודי מפתחות. צריך להשתמש בשם של קוד המפתח, ולא בערך המספר השלם שלו.
סוג סוג האירוע המרכזי לשליחה. הערכים המותרים הם DOWN, UP ו DOWN_AND_UP.

ריק הפעלה מחדש (סוג עומס אתחול string)

המכשיר יופעל מחדש בתוכנת האתחול שצוינה על ידי bootloadType.

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

ריק removePackage (חבילת מחרוזת)

מחיקת החבילה שצוינה מהמכשיר, כולל הנתונים והמטמון שלה.

ארגומנטים
חבילה שם החבילה של Android של קובץ .apk במכשיר הזה.

אובייקט מעטפת (מחרוזת cmd)

מפעילה פקודת מעטפת adb ומחזירה את התוצאה, אם יש כזו.

ארגומנטים
cmd הפקודה שצריך להפעיל במעטפת adb. הצורה של הפקודות האלה שמתוארים בנושא Android גשר של ניפוי באגים
החזרות
  • תוצאות הפקודה, אם יש. הפורמט של התוצאות נקבע לפי הפקודה.

ריק startActivity ( URI של string, פעולת string, נתוני string, mimetype ב-string, קטגוריות שניתנות למדידה תוספות מילונים, רכיב רכיב, דגלים שחוזרים על עצמם)

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

ארגומנטים
URI ה-URI של ה-Intent. (מידע נוסף זמין בכתובת Intent.setData()).
פעולה הפעולה עבור ה-Intent (מידע נוסף זמין בכתובת Intent.setAction()).
נתונים ה-URI של הנתונים ל-Intent (מידע נוסף זמין בכתובת Intent.setData()).
mimetype סוג MIME של ה-Intent (מידע נוסף זמין בכתובת Intent.setType()).
קטגוריות מבנה נתונים שניתן לחזור עליו, שמכיל מחרוזות המגדירות קטגוריות עבור כוונת רכישה (ראו Intent.addCategory()).
תוספות מילון של נתונים נוספים ל-Intent (ראו Intent.putExtra() כדוגמה).

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

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

MonkeyImage צילום תמונה ()

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

החזרות

ריק touch ( integer x, integer y, סוג string)

שליחה של אירוע מגע שצוין לפי סוג למיקום המסך שצוין על ידי x ו-y.

ארגומנטים
x המיקום האופקי של המגע בפיקסלים של המכשיר בפועל, החל מהחלק השמאלי של במסך בכיוון הנוכחי שלו.
y המיקום האנכי של המגע בפיקסלים של המכשיר, החל מהחלק העליון של במסך בכיוון הנוכחי שלו.
סוג סוג האירוע המרכזי לשליחה. הערכים המותרים הם DOWN, UP ו DOWN_AND_UP.

ריק type (הודעת מחרוזת)

שולח את התווים שבהודעה למכשיר זה, כאילו הם שהוקלד במקלדת של המכשיר. הפעולה הזו מקבילה להתקשרות press() לכל קוד מפתח ב-message באמצעות אירוע מרכזי מסוג DOWN_AND_UP.

ארגומנטים
הודעה מחרוזת שמכילה את התווים לשליחה.

ריק wake ()

הוצאת המסך של המכשיר הזה ממצב שינה.


נספח

טבלה 1.שמות של משתני נכסים שמשמשים עם getProperty() וגם getSystemProperty().

קבוצת נכסים נכס תיאור הערות
build board שם הקוד של לוח המערכת של המכשיר להצגת Build
brand הספק או הספק שעבורם מערכת ההפעלה מותאמת אישית.
device שם העיצוב של המכשיר.
fingerprint מזהה ייחודי של ה-build שרץ כרגע.
host
ID מספר או תווית ברשימת שינויים.
model שם המכשיר שגלוי למשתמש הקצה.
product השם הכולל של המוצר.
tags תגים שמופרדים בפסיקים שמתארים את ה-build, כמו 'לא חתום' ו'ניפוי באגים'.
type סוג ה-build, למשל 'user' או 'eng'.
user
CPU_ABI השם של קבוצת ההוראות של קוד נייטיב, בצורת מעבד (CPU) בתוספת מוסכמות ABI.
manufacturer יצרן המוצר או החומרה.
version.incremental הקוד הפנימי שמשמש את מערכת בקרת המקור לייצוג הגרסה הזו של התוכנה.
version.release השם הגלוי למשתמש של גרסת התוכנה הזו.
version.sdk גרסת ה-SDK שגלויה למשתמש ומשויכת לגרסה הזו של מערכת ההפעלה.
version.codename שם קוד הפיתוח הנוכחי, או REL אם גרסת התוכנה הזו שוחרר.
display width רוחב התצוגה של המכשיר בפיקסלים. צפייה אפשר לקבל פרטים בDisplayMetrics.
height גובה התצוגה של המכשיר בפיקסלים.
density הצפיפות הלוגית של המסך. זה גורם שמאפשר התאמה לעומס יחידות DIP (פיקסלים שלא תלויים בדחיסות) לרזולוציה של המכשיר. DIP מותאם כך שנקודת DIP אחת שווה לפיקסל אחד במסך של 160 פיקסלים לאינץ'. לדוגמה, במסך של 160dpi, צפיפות = 1.0, ובמסך של 120dpi, צפיפות = .75.

הערך לא תואם בדיוק לגודל המסך האמיתי, אבל הוא מותאם לשינויים גדולים ב-DPI במסך. צפייה אפשר לקבל פרטים נוספים בdensity.

am.current package שם החבילה ב-Android של החבילה שרצה כרגע. מקשי am.current מחזירים מידע על הפעילות שרצה כרגע פעילות.
action הפעולה של הפעילות הנוכחית. מופיע באותו פורמט כמו name של הרכיב action במניפסט של החבילה.
comp.class שם הכיתה של הרכיב שהתחיל את הפעילות הנוכחית. צפייה אפשר לקבל פרטים נוספים בcomp.package.
comp.package שם החבילה של הרכיב שהתחיל את הפעילות הנוכחית. רכיב מצוין באמצעות שם חבילה ושם המחלקה שהחבילה מכילה.
data הנתונים (אם יש) הכלולים ב-Intent שהתחיל את הפעילות הנוכחית.
categories הקטגוריות שצוינו על ידי ה-Intent שהתחיל את הפעילות הנוכחית.
clock realtime מספר אלפיות השנייה שחלפו מאז הפעלת המכשיר מחדש, כולל שינה עמוקה בזמן האימון. מידע נוסף זמין בכתובת SystemClock.
uptime מספר אלפיות השנייה שחלפו מאז הפעלת המכשיר מחדש, לא כולל זמן שינה עמוקה
millis הזמן הנוכחי מאז תחילת התקופה של UNIX, באלפיות שנייה.