میمون دستگاه

یک کلاس 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 حاوی تصویری از صفحه نمایش فعلی را به دست می دهد.
باطل لمس ( عدد صحیحعدد صحیح y، نوع عدد صحیح )
یک رویداد لمسی مشخص شده بر اساس نوع را به مکان صفحه نمایش مشخص شده توسط x و y ارسال می کند.
باطل نوع (پیام رشته ای )
کاراکترهای موجود در پیام را به این دستگاه می فرستد، انگار که روی صفحه کلید دستگاه تایپ شده باشند. این معادل فراخوانی press() برای هر کد کلید در message با استفاده از نوع رویداد کلید است DOWN_AND_UP .
باطل بیدار ()
صفحه این دستگاه را بیدار می کند.

ثابت ها

رشته پایین

مقدار press() یا touch() را فشار دهید. مشخص می کند که یک نوع رویداد DOWN باید به دستگاه ارسال شود که مربوط به فشار دادن یک کلید یا لمس صفحه است.

رشته بالا

مقدار press() یا touch() را فشار دهید. مشخص می کند که یک نوع رویداد UP باید به دستگاه ارسال شود که مربوط به رها کردن کلید یا بلند کردن آن از صفحه است.

رشته DOWN_AND_UP

press() ، touch() یا مقدار type() . مشخص می کند که یک نوع رویداد DOWN و به دنبال آن یک نوع رویداد 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 حاوی تصویر نمایشگر فعلی.

لمس خالی ( عدد صحیحعدد صحیح y، نوع رشته )

یک رویداد لمسی مشخص شده بر اساس نوع را به مکان صفحه نمایش مشخص شده توسط x و y ارسال می کند.

استدلال ها
x موقعیت افقی لمس در پیکسل های واقعی دستگاه، از سمت چپ صفحه در جهت فعلی آن شروع می شود.
y موقعیت عمودی لمس در پیکسل های واقعی دستگاه، از بالای صفحه در جهت فعلی آن شروع می شود.
نوع نوع رویداد کلیدی برای ارسال. مقادیر مجاز DOWN ، UP و DOWN_AND_UP هستند.

نوع خالی (پیام رشته ای )

کاراکترهای موجود در پیام را به این دستگاه می فرستد، انگار که روی صفحه کلید دستگاه تایپ شده باشند. این معادل فراخوانی press() برای هر کد کلید در message با استفاده از نوع رویداد کلید DOWN_AND_UP است.

استدلال ها
پیام رشته ای حاوی کاراکترهایی برای ارسال.

بیداری خالی ()

صفحه این دستگاه را بیدار می کند.


ضمیمه

جدول 1. نام متغیرهای ویژگی که با getProperty() و getSystemProperty() استفاده می شود.

گروه اموال اموال توضیحات یادداشت ها
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 نمایشگر تنظیم می شود. برای جزئیات بیشتر به 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 زمان کنونی از دوران یونیکس، در میلی ثانیه.