يتعامل كالاباش مع مربع حوار "إكمال الإجراء باستخدام".

StackOverflow https://stackoverflow.com//questions/25016094

سؤال

أرغب في اختبار وظيفة المشاركة لأحد التطبيقات ولكن ليس لدي أي فكرة عن كيفية التعامل مع مربع حوار android "إكمال الإجراء باستخدام" (Facebook وGmail وما إلى ذلك)
عندما أستخدم query("*") فهو يقوم بإرجاع مجموعة فارغة من الحقول.
هل هناك أي طريقة للتعامل مع مربعات حوار النظام باستخدام Calabash أو أي طريقة أخرى لاختبار وظيفة مثل المشاركة؟

أقوم بإجراء اختباراتي على الجهاز الفعلي.

يحرر:إذا لم تكن هناك طريقة للتحقق مما إذا كان مربع الحوار قد تم فتحه أم لا، فربما يكون من الممكن استخدام adb Shell أو شيء من هذا القبيل؟

هل كانت مفيدة؟

المحلول

إنه ليس حلاً أنيقًا للغاية ولكن يمكنك محاكاة لمسات الشاشة باستخدام adb.هناك إجابة تغطيها هنا - محاكاة اللمس باستخدام ADB

يحرر:إضافة بعض التفاصيل حول استخدام adb لتفريغ ملف بجميع عناصر واجهة المستخدم.

في Android sdk في مجلد الأنظمة الأساسية/android-L توجد أداة تسمى uiautomater.jar والتي يمكن أن يستخدمها adb لإجراء الاختبارات (على الرغم من أنني لم أستخدمها مطلقًا لذلك) ولتفريغ ملف xml للعناصر المرئية.

adb shell uiautomator dump test.xml

سيقوم بإنشاء ملف xml (على الجهاز وليس على جهاز الكمبيوتر الخاص بك) والذي يمكنك بعد ذلك البحث فيه في التعليمات البرمجية الخاصة بك للتحقق من النافذة المنبثقة التي تريدها.إذا كنت تريد التفاعل مع النافذة المنبثقة، فيمكنك استخدام الإحداثيات الواردة في تفريغ XML لاختيار الإحداثيات التي تريدها واستخدام حدث adb touch للنقر عليها.

ليس حلاً جميلاً ولكن نأمل ألا يكون من الصعب جدًا العمل في اختباراتك :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top