التبعيات
ويمكن العثور على ثنائيات لبرنامج ChromeDriver على شكل ملفات ZIP لمنصات مضيفة مختلفة في صفحة عمليات التنزيل.
التطبيقات المتوافقة
يدعم ChromeDriver إجراء الاختبارات على متصفّح Chrome (الإصدار 30 والإصدارات الأحدث) والتطبيقات المستندة إلى WebView بدءًا من Android 4.4 (KitKat) والتي فعّلت تصحيح أخطاء الويب وJavaScript. يمكنك تثبيت تطبيق Chrome من:
القناة الثابتة: https://play.google.com/store/apps/details?id=com.android.chrome
روابط اللغة Selenium WebDriver
يجب تثبيت أربطة اللغة WebDriver اللغوية الخاصة بمشروع السلينيوم العادي بلغتك التي تختارها لكتابة اختباراتك. وتتوفر هذه المكتبة لدى مدير الحزم المحلي الذي تتعامل معه أو مشروع السيلينيوم (https://www.seleniumhq.org/download/). على سبيل المثال، يمكن تثبيت أربطة اللغة لـ Python باستخدام pip.
$ pip install selenium
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
يمكن تنزيل حزمة تطوير البرامج (SDK) من developer.android.com/sdk/
متطلبات الجهاز
بدءًا من الإصدار 33 من Chrome، لم يعد الجهاز مزوّدًا بإذن الوصول إلى الجذر. في حال إجراء اختبارات
على إصدارات أقدم من Chrome، يجب أن تكون الأجهزة مزوّدة بإذن الوصول إلى الجذر لأنّ
ChromeDriver
يتطلب إذن الوصول للكتابة إلى دليل /data/local
لضبط وسيطات سطر الأوامر
في Chrome.
تشغيل ChromeDriver
شغِّل خادم Android Debug Bridge (adb) لحزمة تطوير البرامج (SDK) لنظام التشغيل Android:
$ adb start-server
في حال إجراء اختبار على تطبيق Chrome قبل الإصدار 33، تأكَّد من أنّ adb Shell لديه إذن وصول للقراءة/الكتابة إلى الدليل المحلي /data/local على الجهاز:
$ adb shell su -c chmod 777 /data/local
وننصح عمومًا ببدء تشغيل ChromeDriver من خلال مكتبة Selenium، على الرغم من أنّه يمكنك أيضًا تشغيله يدويًا من سطر الأوامر. لمزيد من المعلومات، يُرجى الاطّلاع على "البدء".
$ ./chromedriver
الخيارات الخاصة بنظام التشغيل Android
تسري خيارات Chrome التالية على تطبيقات Chrome وتطبيقات WebView:
androidPackage
: اسم حزمة Chrome أو تطبيق WebViewandroidDeviceSerial
: (اختياري) الرقم التسلسلي للجهاز المطلوب تشغيل التطبيق عليه (راجِع قسم "أجهزة متعددة" أدناه)androidUseRunningApp
: (اختياري) إرفاق دليل على بيانات يتم تشغيله حاليًا بدلاً من تشغيل التطبيق باستخدام دليل بيانات واضح
لا تنطبق الإمكانات التالية إلا على تطبيقات WebView.
- androidActivity: اسم النشاط الذي يستضيف WebView.
- androidProcess: (اختياري) اسم العملية الذي يستضيف WebView (كما هو محدَّد في ps). في حال عدم توفيره، يُفترض أن يكون اسم العملية مطابقًا لاسم
androidPackage
.
إجراء اختبار
يجب أن تنقل الاختبارات اسم حزمة التطبيق إلى ChromeDriver من خلال الخيار androidPackage
. على سبيل المثال، يظهر اختبار بايثون البسيط على النحو التالي:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_experimental_option('androidPackage', 'com.android.chrome')
driver = webdriver.Chrome('./chromedriver', options=options)
driver.get('https://google.com')
driver.quit()
أجهزة متعددة
لاستخدام جهاز معيّن لإجراء جلسة معيّنة، حدِّد androidDeviceSerial
كخيار في Chrome.
وإذا لم يتم تحديد الرقم التسلسلي، يختار الخادم جهازًا غير مستخدَم بشكل عشوائي لربطه بكل جلسة. يتم عرض خطأ إذا كانت جميع الأجهزة تحتوي على جلسات نشطة بالفعل، لذا يجب أن تتأكد الاختبارات من إنهاء الاتصال عند الانتهاء.
الربط بحساب "wd/hub
"
إذا كانت اختباراتك تتوقع الاتصال بـ wd/hub
، يمكنك إضافة --url-base=wd/hub
عند تشغيل الخادم:
$ ./chromedriver --url-base=wd/hub