جهاز MonkeyDevice

فئة cloudrunner تمثِّل جهازًا أو محاكيًا يمكن الوصول إليهما من خلال محطة العمل التي تعمل بنظام التشغيل monkeyrunner.

تُستخدَم هذه الفئة للتحكّم في جهاز Android أو محاكي. حيث تعمل هذه الطرق على إرسال أحداث واجهة المستخدم واسترداد المعلومات وتثبيت التطبيقات وإزالتها وتشغيل التطبيقات.

لا تحتاج عادةً إلى إنشاء مثيل 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) string، إجراء string، بيانات string، string mimetype، فئات iterable، الإضافات القاموسية، ومكوِّن component، علامات قابلة للتعديل)
بث Intent على هذا الجهاز كما لو كان Intent واردًا من تطبيق
إلغاء السحب (بداية الصف، نهاية الصف، المدة العائمة، وعدد صحيح خطوات)
يحاكي هذا الخيار إيماءة السحب (اللمس مع الاستمرار والتحريك) على شاشة هذا الجهاز.
كائن getProperty (مفتاح string)
بناءً على اسم متغير بيئة النظام، يتم عرض قيمته لهذا الجهاز. ويتم سرد أسماء المتغيّرات المتاحة في الوصف التفصيلي لهذه الطريقة.
كائن getSystemProperty (مفتاح سلسلة)
. مُكافئ واجهة برمجة التطبيقات للرمز adb shell getprop <key>. This is provided for use by platform developers.
إلغاء installPackage (مسار string)
تثبيت تطبيق Android أو حزمة الاختبار المضمنة في packageFile على هذا الجهاز. إذا كان التطبيق أو حزمة الاختبار مثبتًا بالفعل، سيتم استبدالها.
القاموس instrument (string className, قاموس قاموس)
لتشغيل المكون المحدد ضمن أدوات Android، وعرض النتائج في قاموس يتم تحديد تنسيقه بالضبط من خلال المكون الذي يتم تشغيله. ويجب أن يكون المكوِّن متوفرًا من قبل على هذا الجهاز.
إلغاء press (اسم سلسلة، نوع قاموس)
يؤدي هذا الخيار إلى إرسال الحدث الرئيسي المحدّد حسب النوع إلى المفتاح المحدَّد بواسطة رمز المفتاح.
إلغاء إعادة التشغيل (سلسلة إلى)
يؤدي هذا الإجراء إلى إعادة تشغيل هذا الجهاز في برنامج الإقلاع الذي حدّده BootloadType.
إلغاء removePackage (حزمة string)
يؤدي هذا الإجراء إلى حذف الحزمة المحدَّدة من هذا الجهاز، بما في ذلك البيانات وذاكرة التخزين المؤقت.
كائن shell (سلسلة cmd)
ينفِّذ أمر واجهة المستخدم adb ويعرض النتيجة، إن وجد.
إلغاء startActivity (معرّف الموارد المنتظم string، إجراء string، بيانات string، string mimetype، فئات iterable، القواميس الإضافية، ومكوّن component، flags)
لبدء نشاط على هذا الجهاز عن طريق إرسال Intent تم إنشاؤه من الوسيطات المقدَّمة.
MonkeyImage takeSnapshot()
تلتقط هذه الكاميرا المخزن المؤقت للشاشة بأكمله في هذا الجهاز، ما يؤدي إلى عرض عنصر MonkeyImage يحتوي على لقطة شاشة للعرض الحالي.
إلغاء اللمس (نوع عدد صحيحعدد صحيح ص، نوع عدد صحيح)
لإرسال حدث لمس محدد حسب النوع إلى موقع الشاشة المحدد في س وص.
إلغاء type (رسالة سلسلة)
يتم إرسال الأحرف المضمّنة في الرسالة إلى هذا الجهاز كما لو كانت مكتوبة على لوحة مفاتيح الجهاز. يعادل ذلك استدعاء press() لكل رمز مفتاح في message باستخدام نوع الحدث الرئيسي DOWN_AND_UP.
إلغاء الاستيقاظ ()
سيتم تنشيط شاشة هذا الجهاز.

الثوابت

سلسلة أسفل

القيمة press() أو touch(). تحدِّد هذه السياسة أنّه يجب إرسال نوع الحدث "أسفل" إلى الجهاز، وذلك بالضغط على مفتاح للأسفل أو من خلال لمس الشاشة.

سلسلة UP

القيمة press() أو touch(). تحدّد هذه السياسة أنّه يجب إرسال نوع حدث UP إلى الجهاز، بما يتوافق مع إطلاق مفتاح أو رفعه عن الشاشة.

سلسلة نصية DOWN_AND_UP

القيمة press() أو touch() أو type(). تحدِّد هذه السياسة أنّه يجب إرسال نوع حدث "أسفل" متبوعًا بنوع حدث "أعلى" إلى الجهاز، بما يتوافق مع كتابة مفتاح أو النقر على الشاشة.

الطرق المتاحة للجميع

void broadcastIntent ( معرّف الموارد المنتظم string، إجراء string، بيانات string، string mimetype، القابلة للتكرار ضمن الفئات القواميس، ومكوِّن component، وعلامات قابلة للتكرار)

بث Intent على هذا الجهاز كما لو كان Intent واردًا من تطبيق اطّلِع على Intent لمزيد من المعلومات حول الوسيطات.

الوسيطات
معرّف الموارد المنتظم (URI) معرّف الموارد المنتظم (URI) للهدف. (راجِع Intent.setData()).
إجراء الإجراء الخاص بهذا الهدف (راجِع Intent.setAction()).
بيانات معرّف الموارد المنتظم (URI) للبيانات لهذا الهدف (راجِع Intent.setData()).
نوع mime نوع MIME للهدف (راجِع Intent.setType()).
الفئات بنية بيانات قابلة للتكرار تحتوي على سلاسل تحدّد فئات لهذا الهدف (راجِع Intent.addCategory()).
تطبيقات إضافية قاموس للبيانات الإضافية لهذا الغرض (راجِع Intent.putExtra() كمثال).

يجب أن يكون مفتاح كل عنصر في القاموس سلسلة. ويمكن أن تكون قيمة العنصر أي نوع بيانات بسيطة أو منظَّمة.

المكوِّن مكوِّن هذا Intent (انظر ComponentName). سيؤدي استخدام هذه الوسيطة إلى توجيه Intent إلى فئة معيّنة ضمن حزمة Android معيّنة.
العلامة بنية بيانات قابلة للتكرار تحتوي على علامات تتحكّم في طريقة التعامل مع Intent (راجِع Intent.setFlags()).

إلغاء السحب ( بداية الصف، نهاية الصف، والمدة العائمة، وعدد صحيح من الخطوات)

يحاكي هذا الخيار إيماءة السحب (اللمس مع الاستمرار والتحريك) على شاشة هذا الجهاز.

الوسيطات
بدء نقطة بداية إيماءة السحب، في شكل صف (x,y) حيث x وy يمثلان أعداد صحيحة.
إنهاء نقطة نهاية إيماءة السحب، في شكل صف (x,y) حيث يكون x وy أعداد صحيحة.
المدة مدة إيماءة السحب بالثواني. القيمة التلقائية هي 1.0 ثانية.
الخطوات عدد الخطوات المطلوب اتخاذها عند إدخال النقاط. والعدد التلقائي هو 10.

object getProperty (مفتاح string)

بناءً على اسم متغير بيئة النظام، يتم عرض قيمته لهذا الجهاز.

الوسيطات
مفتاح اسم متغير بيئة النظام. ويتم سرد أسماء المتغيّرات المتاحة في الجدول 1. أسماء متغيرات الموقع في نهاية هذا الموضوع.
الركلات المردودة
  • قيمة المتغير. يختلف تنسيق البيانات حسب المتغيّر المطلوب.

object getSystemProperty (مفتاح string)

مرادف لكلمة getProperty().

الوسيطات
مفتاح اسم متغير بيئة النظام. ويتم سرد أسماء المتغيّرات المتاحة في الجدول 1. أسماء متغيرات المواقع.
الركلات المردودة
  • قيمة المتغير. يختلف تنسيق البيانات حسب المتغيّر المطلوب.

void installPackage (مسار سلسلة)

يثبِّت تطبيق Android أو حزمة الاختبار المضمّنة في packageFile على هذا الجهاز. إذا كان التطبيق أو حزمة الاختبار مثبتًا من قبل، سيتم استبداله.

الوسيطات
مسار تشير هذه السمة إلى المسار المؤهَّل بالكامل واسم الملف لملف .apk المطلوب تثبيته.

قاموس أداة ( string className, dictionary args)

لتشغيل المكوِّن المحدد باستخدام أدوات Android، وعرض النتائج في قاموس يتم تحديد تنسيقه بالضبط من خلال المكون الذي يتم تشغيله. ويجب أن يكون المكوِّن متوفرًا من قبل على هذا الجهاز.

استخدم هذه الطريقة لبدء حالة اختبار تستخدم إحدى فئات حالات الاختبار في Android. يمكنك الاطّلاع على أساسيات اختبار لمزيد من المعلومات حول اختبار الوحدات باستخدام إطار عمل الاختبار لنظام التشغيل Android.

الوسيطات
اسم الفئة تمثّل هذه السمة اسم مكوِّن Android تم تثبيته من قبل على هذا الجهاز، بالتنسيق العادي اسم الحزمة/اسم الفئة، حيث يكون اسم الحزمة هو اسم حزمة Android لملف .apk على هذا الجهاز، واسم الفئة هو اسم فئة أحد مكونات Android (النشاط أو ContentProvider أو الخدمة أو BroadcastBroadcastr) في ذلك الملف. يجب أن يكون كل من اسم الحزمة واسم الفئة مؤهلين بالكامل. لمزيد من التفاصيل، يمكنك الاطّلاع على ComponentName.
الوسيطات قاموس يتضمن العلامات وقيمها ويتم تمريرها إلى المكوِّن عند بدئها. إذا لم تأخذ العلامة أي قيمة، اضبط قيمة المعجم على سلسلة فارغة.
الركلات المردودة
  • قاموس يحتوي على إخراج المكون. ويتم تحديد محتوى القاموس من خلال المكوّن نفسه.

    إذا كنت تستخدم InstrumentationTestRunner كاسم للفئة في وسيطةcomponentName، سيحتوي قاموس النتائج على المفتاح "stream" الوحيد. قيمة "البث" هي سلسلة تحتوي على نتيجة الاختبار، كما لو تم تشغيل InstrumentationTestRunner من سطر الأوامر. ويتم وصف تنسيق هذا الناتج في الاختبار في بيئات IDE الأخرى.

void press (اسم سلسلة، نوع عدد صحيح)

لإرسال الحدث الرئيسي الذي حدّده type إلى المفتاح المحدّد في keycode.

الوسيطات
اسم اسم رمز المفتاح المطلوب إرساله. راجِع KeyEvent للحصول على قائمة بأسماء رموز المفاتيح. استخدِم اسم رمز المفتاح، وليس قيمة العدد الصحيح.
كتابة نوع الحدث الرئيسي المطلوب إرساله. والقيم المسموح بإدراجها هي DOWN وUP وDOWN_AND_UP.

إلغاء إعادة التشغيل (string BootloadType)

ستتم إعادة تشغيل هذا الجهاز في برنامج الإقلاع الذي حدّده bootloadType.

الوسيطات
بداخل نوع برنامج الإقلاع المطلوب إعادة التشغيل عليه. والقيم المسموح بإدراجها هي "برنامج الإقلاع" أو "الاسترداد" أو "بدون".

void removePackage (حزمة string)

يؤدي هذا الإجراء إلى حذف الحزمة المحدَّدة من هذا الجهاز، بما في ذلك البيانات وذاكرة التخزين المؤقت.

الوسيطات
طرد اسم حزمة Android لملف .apk على هذا الجهاز.

object shell (string cmd)

ينفِّذ أمر واجهة المستخدم adb ويعرض النتيجة، إن وجد.

الوسيطات
cmd الأمر الذي سيتم تنفيذه في واجهة أوامر adb. ويتضمّن الموضوع Android Debug Bridge شرحًا لشكل هذه الأوامر.
الركلات المردودة
  • تمثّل هذه السمة نتائج الأمر، في حال توفُّرها. يتم تحديد تنسيق النتائج من خلال الأمر.

void startActivity ( معرّف الموارد المنتظم string، إجراء string، بيانات string، string mimetype، القابلة للتكرار ضمن الفئات القواميس، ومكوّن component، وعلامات قابلة للتكرار)

لبدء نشاط على هذا الجهاز عن طريق إرسال Intent تم إنشاؤه من الوسيطات المقدَّمة.

الوسيطات
معرّف الموارد المنتظم (URI) معرّف الموارد المنتظم (URI) للهدف. (راجِع Intent.setData()).
إجراء إجراء Intent (راجِع Intent.setAction()).
بيانات معرّف الموارد المنتظم (URI) للبيانات في الغرض (راجِع Intent.setData()).
نوع mime نوع MIME للهدف (راجِع Intent.setType()).
الفئات بنية بيانات قابلة للتكرار تحتوي على سلاسل تحدّد فئات Intent (راجِع Intent.addCategory()).
تطبيقات إضافية يشير هذا المصطلح إلى قاموس بيانات إضافية خاصة بالهدف (راجِع Intent.putExtra() للاطّلاع على مثال).

يجب أن يكون مفتاح كل عنصر في القاموس سلسلة. ويمكن أن تكون قيمة العنصر أي نوع بيانات بسيطة أو منظَّمة.

المكوِّن مكوِّن Intent (راجِع ComponentName). ويؤدي استخدام هذه الوسيطة إلى توجيه Intent إلى فئة معيّنة ضمن حزمة Android معيّنة.
العلامة بنية بيانات قابلة للتكرار تحتوي على علامات تتحكّم في طريقة التعامل مع Intent (راجِع Intent.setFlags()).

MonkeyImage TakeSnapshot ()

تلتقط شاشة هذا الجهاز المخزن المؤقت بالكامل على الشاشة، ما يؤدي إلى التقاط لقطة شاشة للعرض الحالي.

الركلات المردودة
  • عنصر MonkeyImage الذي يحتوي على صورة العرض الحالي

إبطال اللمس ( عدد صحيحعدد صحيح y، نوع سلسلة)

لإرسال حدث لمس محدد حسب النوع إلى موقع الشاشة المحدد في س وص.

الوسيطات
x تمثّل هذه السمة الموضع الأفقي للمس بوحدات البكسل الفعلية للجهاز، بدءًا من يسار الشاشة في اتجاهها الحالي.
y تمثّل هذه السمة الوضع الرأسي للمس بوحدات بكسل الجهاز الفعلية، بدءًا من أعلى الشاشة في اتجاهها الحالي.
كتابة نوع الحدث الرئيسي المطلوب إرساله. والقيم المسموح بإدراجها هي DOWN وUP وDOWN_AND_UP.

void النوع (سلسلة رسالة)

يتم إرسال الأحرف المضمّنة في الرسالة إلى هذا الجهاز كما لو كانت مكتوبة على لوحة مفاتيح الجهاز. يعادل ذلك استدعاء press() لكل رمز مفتاح في message باستخدام نوع الحدث الرئيسي DOWN_AND_UP.

الوسيطات
رسالة سلسلة تحتوي على الأحرف المطلوب إرسالها.

إلغاء تنشيط ()

سيتم تنشيط شاشة هذا الجهاز.


الملحق

الجدول 1.أسماء متغيرات الخاصية المستخدَمة مع getProperty() وgetSystemProperty().

مجموعة المواقع الخاصية الوصف Notes
build board الاسم الرمزي للوحة نظام الجهاز الاطّلاع على Build
brand مشغّل شبكة الجوّال أو موفّر الخدمة الذي تم تخصيص نظام التشغيل له.
device اسم تصميم الجهاز
fingerprint هو معرّف فريد للإصدار قيد التشغيل حاليًا.
host
ID رقم قائمة التغييرات أو التصنيف
model اسم الجهاز الذي يظهر للمستخدم النهائي
product الاسم العام للمنتج.
tags علامات مفصولة بفواصل تصف الإصدار، مثل "غير موقَّعة" و "تصحيح الأخطاء".
type نوع الإصدار، مثل "مستخدم" أو "مشاركة".
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 نقطة لكل بوصة، تكون الكثافة = 1.0، بينما على الشاشة التي تبلغ دقتها 120 نقطة لكل بوصة، تكون الكثافة = 0 .75.

لا تتبع القيمة حجم الشاشة الفعلي بالضبط، ولكن يتم تعديلها لتتوافق مع التغييرات الكبيرة في عدد النقاط لكل بوصة (DPI) للعرض. لمزيد من التفاصيل، يمكنك الاطّلاع على density.

am.current package اسم حزمة Android للحزمة قيد التشغيل حاليًا. تعرض مفاتيح am.current معلومات عن "النشاط" الجاري تشغيله.
action إجراء النشاط الحالي. ويكون لهذا العنصر التنسيق نفسه المستخدَم في السمة name للعنصر action في بيان الحزمة.
comp.class اسم فئة المكوّن الذي بدأ النشاط الحالي. لمزيد من التفاصيل، يمكنك الاطّلاع على comp.package.
comp.package اسم حزمة المكوِّن الذي بدأ النشاط الحالي. يتم تحديد المكوِّن بواسطة اسم الحزمة واسم الفئة التي تحتوي عليها الحزمة.
data البيانات (إن وجدت) الواردة في الهدف الذي بدأ النشاط الحالي.
categories الفئات المحددة في الهدف الذي بدأ النشاط الحالي.
clock realtime عدد المللي ثانية منذ إعادة تشغيل الجهاز، بما في ذلك وقت النوم العميق. يمكنك الاطّلاع على SystemClock لمزيد من المعلومات.
uptime عدد المللي ثانية منذ إعادة تشغيل الجهاز، لا بما في ذلك وقت النوم العميق
millis الوقت الحالي منذ حقبة UNIX، بالمللي ثانية.