یک کلاس monkeyrunner که نشان دهنده دستگاه یا شبیه ساز قابل دسترسی توسط ایستگاه کاری در حال اجرا monkeyrunner
.
این کلاس برای کنترل یک دستگاه اندروید یا شبیه ساز استفاده می شود. این روش ها رویدادهای UI را ارسال می کنند، اطلاعات را بازیابی می کنند، برنامه ها را نصب و حذف می کنند و برنامه ها را اجرا می کنند.
شما معمولاً نیازی به ایجاد یک نمونه از MonkeyDevice
ندارید. در عوض، از MonkeyRunner.waitForConnection()
برای ایجاد یک شی جدید از اتصال به یک دستگاه یا شبیه ساز استفاده می کنید. به عنوان مثال، به جای استفاده از:
newdevice = MonkeyDevice()
شما استفاده می کنید:
newdevice = MonkeyRunner.waitForConnection()
خلاصه
ثابت ها | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
رشته | پایین | از این با آرگومان type press() یا touch() برای ارسال یک رویداد DOWN استفاده کنید. | |||||||||
رشته | بالا | از این با آرگومان type press() یا touch() برای ارسال یک رویداد UP استفاده کنید. | |||||||||
رشته | DOWN_AND_UP | از این با آرگومان type press() یا touch() برای ارسال یک رویداد DOWN بلافاصله به دنبال یک رویداد UP استفاده کنید. |
روش ها | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
| broadcastIntent ( uri رشته ، کنش رشته ، داده رشته ، نوع mime رشته ، اضافههای فرهنگ لغت دستههای تکرارپذیر ، مؤلفه مؤلفه ، پرچمهای تکرارپذیر ) یک Intent را به این دستگاه پخش می کند، گویی که Intent از یک برنامه کاربردی می آید. | ||||||||||
| کشیدن (شروع تاپل ، پایان تاپل ، مدت زمان شناور ، گامهای صحیح ) یک حرکت کشیدن (لمس، نگه داشتن و حرکت) را در صفحه این دستگاه شبیهسازی میکند. | ||||||||||
شی | getProperty (کلید رشته ) با توجه به نام یک متغیر محیطی سیستم، مقدار آن را برای این دستگاه برمیگرداند. نام متغیرهای موجود در توضیحات مفصل این روش ذکر شده است. | ||||||||||
شی | getSystemProperty (کلید رشته ) . معادل API adb shell getprop <key>. This is provided for use by platform developers. | ||||||||||
| installPackage (مسیر رشته ) برنامه اندروید یا بسته آزمایشی موجود در packageFile را روی این دستگاه نصب میکند. اگر برنامه یا بسته آزمایشی قبلاً نصب شده باشد، جایگزین می شود. | ||||||||||
فرهنگ لغت | ساز (نام کلاس رشته ، args فرهنگ لغت ) مؤلفه مشخص شده را تحت ابزار دقیق Android اجرا می کند و نتایج را در فرهنگ لغتی که فرمت دقیق آن توسط مؤلفه در حال اجرا دیکته می شود، برمی گرداند. جزء باید قبلاً در این دستگاه وجود داشته باشد. | ||||||||||
| را فشار دهید (نام رشته ، نوع فرهنگ لغت ) رویداد کلید مشخص شده بر اساس نوع را به کلید مشخص شده توسط کد کلید ارسال می کند. | ||||||||||
| راه اندازی مجدد ( رشته به) این دستگاه را در بوت لودر مشخص شده توسط bootloadType راه اندازی مجدد می کند. | ||||||||||
| removePackage (بسته رشته ای ) بسته مشخص شده را از این دستگاه از جمله داده ها و حافظه پنهان آن حذف می کند. | ||||||||||
شی | پوسته ( رشته cmd) یک دستور adb shell را اجرا می کند و در صورت وجود نتیجه را برمی گرداند. | ||||||||||
| startActivity ( uri رشته ، کنش رشته ، داده رشته ، نوع mime رشته ، اضافههای فرهنگ لغت دستههای تکرارشونده ، مؤلفه مؤلفه ، پرچمها ) با ارسال یک Intent ساخته شده از آرگومان های ارائه شده، یک فعالیت را در این دستگاه شروع می کند. | ||||||||||
MonkeyImage | takeSnapshot () کل بافر صفحه این دستگاه را می گیرد و یک شی MonkeyImage حاوی تصویری از صفحه نمایش فعلی را به دست می دهد. | ||||||||||
| لمس ( عدد صحیح x، عدد صحیح y، نوع عدد صحیح ) یک رویداد لمسی مشخص شده بر اساس نوع را به مکان صفحه نمایش مشخص شده توسط x و y ارسال می کند. | ||||||||||
| نوع (پیام رشته ای ) کاراکترهای موجود در پیام را به این دستگاه می فرستد، انگار که روی صفحه کلید دستگاه تایپ شده باشند. این معادل فراخوانی press() برای هر کد کلید در message با استفاده از نوع رویداد کلید است DOWN_AND_UP . | ||||||||||
| بیدار () صفحه این دستگاه را بیدار می کند. |
ثابت ها
رشته پایین
رشته بالا
رشته DOWN_AND_UP
روش های عمومی
void broadcastIntent ( uri رشته ، کنش رشته ، داده رشته ، نوع mime رشته ، اضافههای فرهنگ لغت دستههای تکرارپذیر ، مؤلفه مؤلفه ، پرچمهای تکرارپذیر )
یک Intent را به این دستگاه پخش می کند، گویی که Intent از یک برنامه کاربردی می آید. برای اطلاعات بیشتر در مورد استدلال ها به Intent
مراجعه کنید.
استدلال ها
اوری | URI برای Intent. (به Intent.setData() مراجعه کنید). |
---|---|
اقدام | اقدام برای این Intent (به Intent.setAction() مراجعه کنید). |
داده ها | URI داده برای این Intent (به Intent.setData() مراجعه کنید). |
mimetype | نوع MIME برای Intent (به Intent.setType() مراجعه کنید). |
دسته بندی ها | یک ساختار داده تکرارپذیر حاوی رشتههایی که دستههایی را برای این Intent تعریف میکنند (به Intent.addCategory() مراجعه کنید). |
اضافی | فرهنگ لغت داده های اضافی برای این Intent (برای مثال Intent.putExtra() را ببینید).کلید هر مورد فرهنگ لغت باید یک رشته باشد. مقدار مورد می تواند هر نوع داده ساده یا ساختار یافته باشد. |
جزء | مؤلفه این Intent (به ComponentName مراجعه کنید). استفاده از این آرگومان، Intent را به یک کلاس خاص در یک بسته خاص اندروید هدایت می کند. |
پرچم ها | یک ساختار داده تکرارپذیر حاوی پرچم هایی که نحوه مدیریت Intent را کنترل می کند (به Intent.setFlags() مراجعه کنید. |
کشیدن خالی (شروع تاپل ، پایان تاپل ، مدت زمان شناور ، مراحل عدد صحیح )
یک حرکت کشیدن (لمس، نگه داشتن و حرکت) را در صفحه این دستگاه شبیهسازی میکند.
استدلال ها
شروع کنید | نقطه شروع حرکت کشیدن، به شکل یک تاپل (x,y) که در آن x و y اعداد صحیح هستند. |
---|---|
پایان | نقطه پایان حرکت کشیدن، به شکل یک تاپل (x,y) که در آن x و y اعداد صحیح هستند. |
مدت | مدت زمان حرکت کشیدن بر حسب ثانیه. پیش فرض 1.0 ثانیه است. |
مراحل | تعداد مراحلی که هنگام درون یابی نقاط باید برداشته شود. پیش فرض 10 است. |
شی getProperty (کلید رشته )
با توجه به نام یک متغیر محیطی سیستم، مقدار آن را برای این دستگاه برمیگرداند.
استدلال ها
کلید | نام متغیر محیطی سیستم. نام متغیرهای موجود در جدول 1 فهرست شده است. نام متغیرهای ویژگی در انتهای این مبحث. |
---|
برمی گرداند
- مقدار متغیر. قالب داده با توجه به متغیر درخواستی متفاوت است.
شی getSystemProperty (کلید رشته )
مترادف کلمه getProperty()
.
استدلال ها
کلید | نام متغیر محیطی سیستم. نام متغیرهای موجود در جدول 1 فهرست شده است. نام متغیرهای ویژگی . |
---|
برمی گرداند
- مقدار متغیر. قالب داده با توجه به متغیر درخواستی متفاوت است.
void installPackage (مسیر رشته )
برنامه اندروید یا بسته آزمایشی موجود در packageFile را روی این دستگاه نصب میکند. اگر برنامه یا بسته آزمایشی قبلاً نصب شده باشد، جایگزین می شود.
استدلال ها
مسیر | مسیر کاملا واجد شرایط و نام فایل فایل .apk برای نصب. |
---|
ابزار فرهنگ لغت (نام کلاس رشته ، args فرهنگ لغت )
مؤلفه مشخص شده را با ابزار دقیق Android اجرا می کند و نتایج را در فرهنگ لغتی که فرمت دقیق آن توسط مؤلفه در حال اجرا دیکته می شود، برمی گرداند. جزء باید قبلاً در این دستگاه وجود داشته باشد.
از این روش برای راه اندازی یک تست که از یکی از کلاس های تست مورد اندروید استفاده می کند، استفاده کنید. برای کسب اطلاعات بیشتر در مورد تست واحد با چارچوب تست اندروید، به Testing Fundamentals مراجعه کنید.
استدلال ها
نام کلاس | نام یک جزء Android که قبلاً روی این دستگاه نصب شده است، به شکل استاندارد packagename/classname، که در آن packagename نام بسته Android یک فایل .apk در این دستگاه است، و classname نام کلاس یک جزء Android است (Activity ، ContentProvider، Service یا BroadcastReceiver) در آن فایل. نام بسته و نام کلاس باید کاملاً واجد شرایط باشند. برای جزئیات بیشتر به ComponentName مراجعه کنید. |
---|---|
ارگ | فرهنگ لغت حاوی پرچم ها و مقادیر آنها. اینها با شروع به کامپوننت به آن منتقل می شوند. اگر پرچم مقداری دریافت نمی کند، مقدار فرهنگ لغت آن را روی یک رشته خالی تنظیم کنید. |
برمی گرداند
فرهنگ لغت حاوی خروجی جزء. محتویات فرهنگ لغت توسط خود مؤلفه تعریف می شود.
اگر از
InstrumentationTestRunner
به عنوان نام کلاس در آرگومان componentName استفاده می کنید، فرهنگ لغت نتیجه حاوی کلید واحد "stream" است. مقدار "stream" یک رشته است که حاوی خروجی تست است، گویی کهInstrumentationTestRunner
از خط فرمان اجرا شده است. فرمت این خروجی در تست در سایر IDEها توضیح داده شده است.
فشار خالی (نام رشته ، نوع عدد صحیح )
رویداد کلید مشخص شده بر اساس type
را به کلید مشخص شده توسط keycode
ارسال می کند.
استدلال ها
نام | نام کد کلید برای ارسال. برای لیستی از نامهای کد کلید به KeyEvent مراجعه کنید. از نام کد کلید استفاده کنید نه مقدار صحیح آن. |
---|---|
نوع | نوع رویداد کلیدی برای ارسال. مقادیر مجاز DOWN ، UP و DOWN_AND_UP هستند. |
راه اندازی مجدد بی اعتبار ( رشته bootloadType)
این دستگاه را در بوت لودر مشخص شده توسط bootloadType
راه اندازی مجدد می کند.
استدلال ها
به | نوع بوت لودر برای راه اندازی مجدد مقادیر مجاز عبارتند از "bootloader"، "recovery" یا "None". |
---|
void removePackage (بسته رشته )
بسته مشخص شده را از این دستگاه از جمله داده ها و حافظه پنهان آن حذف می کند.
استدلال ها
بسته بندی | نام بسته Android یک فایل .apk در این دستگاه. |
---|
پوسته شی ( رشته cmd)
یک دستور adb
shell را اجرا می کند و در صورت وجود نتیجه را برمی گرداند.
استدلال ها
cmd | دستور اجرا در پوسته adb . شکل این دستورات در مبحث Android Debug Bridge توضیح داده شده است. |
---|
برمی گرداند
- نتایج فرمان، در صورت وجود. فرمت نتایج توسط دستور تعیین می شود.
void startActivity ( uri رشته ، کنش رشته ، داده رشته ، نوع mime رشته ، اضافههای فرهنگ لغت دستههای تکرارپذیر ، مؤلفه مؤلفه ، پرچمهای تکرارپذیر )
با ارسال یک Intent ساخته شده از آرگومان های ارائه شده، یک فعالیت را در این دستگاه شروع می کند.
استدلال ها
اوری | URI برای Intent. (به Intent.setData() مراجعه کنید). |
---|---|
اقدام | اقدام برای Intent (به Intent.setAction() مراجعه کنید). |
داده ها | URI داده برای Intent (به Intent.setData() مراجعه کنید). |
mimetype | نوع MIME برای Intent (به Intent.setType() مراجعه کنید). |
دسته بندی ها | یک ساختار داده تکرارپذیر حاوی رشته هایی که دسته بندی ها را برای Intent تعریف می کنند (به Intent.addCategory() مراجعه کنید). |
اضافی | فرهنگ لغت اطلاعات اضافی برای Intent (برای مثال Intent.putExtra() را ببینید).کلید هر مورد فرهنگ لغت باید یک رشته باشد. مقدار مورد می تواند هر نوع داده ساده یا ساختار یافته باشد. |
جزء | مؤلفه Intent (به ComponentName مراجعه کنید). استفاده از این آرگومان، Intent را به یک کلاس خاص در یک بسته خاص اندروید هدایت می کند. |
پرچم ها | یک ساختار داده تکرارپذیر حاوی پرچم هایی که نحوه مدیریت Intent را کنترل می کند (به Intent.setFlags() مراجعه کنید. |
MonkeyImage
takeSnapshot ()
کل بافر صفحه این دستگاه را می گیرد و از صفحه نمایش فعلی عکس می گیرد.
برمی گرداند
- یک شی MonkeyImage حاوی تصویر نمایشگر فعلی.
لمس خالی ( عدد صحیح x، عدد صحیح y، نوع رشته )
یک رویداد لمسی مشخص شده بر اساس نوع را به مکان صفحه نمایش مشخص شده توسط x و y ارسال می کند.
استدلال ها
x | موقعیت افقی لمس در پیکسل های واقعی دستگاه، از سمت چپ صفحه در جهت فعلی آن شروع می شود. |
---|---|
y | موقعیت عمودی لمس در پیکسل های واقعی دستگاه، از بالای صفحه در جهت فعلی آن شروع می شود. |
نوع | نوع رویداد کلیدی برای ارسال. مقادیر مجاز DOWN ، UP و DOWN_AND_UP هستند. |
نوع خالی (پیام رشته ای )
کاراکترهای موجود در پیام را به این دستگاه می فرستد، انگار که روی صفحه کلید دستگاه تایپ شده باشند. این معادل فراخوانی press()
برای هر کد کلید در message
با استفاده از نوع رویداد کلید DOWN_AND_UP
است.
استدلال ها
پیام | رشته ای حاوی کاراکترهایی برای ارسال. |
---|
بیداری خالی ()
صفحه این دستگاه را بیدار می کند.
ضمیمه
گروه اموال | اموال | توضیحات | یادداشت ها |
---|---|---|---|
build | board | نام کد برای برد سیستم دستگاه | رجوع به Build |
brand | شرکت مخابراتی یا ارائه دهنده ای که سیستم عامل برای آن سفارشی شده است. | ||
device | نام طراحی دستگاه | ||
fingerprint | یک شناسه منحصر به فرد برای بیلد در حال اجرا. | ||
host | |||
ID | شماره یا برچسب فهرست تغییر. | ||
model | نام قابل مشاهده برای کاربر نهایی برای دستگاه. | ||
product | نام کلی محصول | ||
tags | برچسبهای جدا شده با کاما که ساخت را توصیف میکنند، مانند "unsigned" و "debug". | ||
type | نوع ساخت، مانند "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 طوری تنظیم می شود که 1 DIP معادل یک پیکسل در صفحه نمایش 160 پیکسل در اینچ باشد. برای مثال، در صفحه نمایش 160 dpi، چگالی = 1.0، در حالی که در صفحه نمایش 120 dpi، چگالی = 0.75 است. این مقدار دقیقاً از اندازه واقعی صفحه نمایش پیروی نمی کند، اما برای مطابقت با تغییرات بزرگ در DPI نمایشگر تنظیم می شود. برای جزئیات بیشتر به | ||
am.current | package | نام بسته Android بسته در حال اجرا. | کلیدهای am.current اطلاعات مربوط به فعالیت در حال اجرا را برمی گرداند. |
action | فعالیت فعلی این فرمت مشابه ویژگی name عنصر action در مانیفست بسته است. | ||
comp.class | نام کلاس مؤلفه ای که فعالیت فعلی را شروع کرده است. برای جزئیات بیشتر به comp.package مراجعه کنید. | ||
comp.package | نام بسته مؤلفه ای که فعالیت فعلی را شروع کرده است. یک جزء با نام بسته و نام کلاسی که بسته حاوی آن است مشخص می شود. | ||
data | داده ها (در صورت وجود) موجود در Intent که فعالیت فعلی را شروع کرده است. | ||
categories | دسته بندی هایی که توسط Intent مشخص شده است که فعالیت فعلی را شروع کرده است. | ||
clock | realtime | تعداد میلی ثانیه از زمان راه اندازی مجدد دستگاه، از جمله زمان خواب عمیق. | برای اطلاعات بیشتر به SystemClock مراجعه کنید. |
uptime | تعداد میلی ثانیه از زمان راه اندازی مجدد دستگاه، بدون احتساب زمان خواب عمیق | ||
millis | زمان کنونی از دوران یونیکس، در میلی ثانیه. |