الحصول على السياق
استرجاع سياق الجلسة الحالية.
تُحسّن هذه الطريقة أمر Appium الافتراضي context
/WebdriverIO getContext
من خلال توفير خيار
لإرجاع معلومات سياق مفصلة، مما يجعل العمل مع التطبيقات الهجينة التي تستخدم webviews أسهل.
كيف تعمل السياقات
راجع توثيق التطبيقات الهجينة لمزيد من المعلومات. فيما يلي شرح للتحديات المرتبطة بأمر getContext
:
بالنسبة لأندرويد:
- يمكن أن تحتوي Webviews على صفحات متعددة (مثل علامات تبويب المتصفح)، وتحديد الصفحة الصحيحة يتطلب بيانات وصفية إضافية
مثل
title
أوurl
. - توفر طرق Appium الافتراضية أسماء سياق أساسية فقط (مثل
WEBVIEW_{packageName}
) بدون معلومات مفصلة حول الصفحات داخل webview.
بالنسبة لـ iOS:
- يتم تحديد كل webview بواسطة سلسلة
WEBVIEW_{id}
عامة، والتي لا تشير إلى محتوياتها أو شاشة التطبيق التي تنتمي إليها.
لماذا تستخدم هذه الطريقة؟
- السلوك الافتراضي:
- يُرجع السياق الحالي كسلسلة (مثل
NATIVE_APP
أوWEBVIEW_{id}
).
- يُرجع السياق الحالي كسلسلة (مثل
- سياق مفصل:
- عند تمكين
returnDetailedContext
، يسترجع البيانات الوصفية مثل:- أندرويد:
packageName
وtitle
وurl
وwebviewPageId
. - iOS:
bundleId
وtitle
وurl
.
- أندرويد:
- عند تمكين
- خيارات خاصة بأندرويد:
- يمكن تخصيص فترات إعادة المحاولة والمهل الزمنية للتعامل مع تأخيرات في تهيئة webview.
ملاحظات وقيود
- إذا لم يتم تمكين
returnDetailedContext
، فإن الطريقة تتصرف مثل طريقة Appium الافتراضيةgetContext
. - إذا كنت ترغب في استخدام طريقة Appium "الافتراضية"
context
، يمكنك استخدام طريقةdriver.getAppiumContext()