وابستگی ها
فایلهای باینری برای ChromeDriver را میتوان به صورت فایلهای فشرده برای پلتفرمهای میزبان مختلف در صفحه دانلودها یافت.
برنامه های پشتیبانی شده
ChromeDriver از اجرای آزمایشها در مرورگر Chrome (نسخه 30 و بالاتر) و برنامههای مبتنی بر WebView که در Android 4.4 (KitKat) شروع میشوند و اشکالزدایی وب و جاوا اسکریپت را فعال کردهاند، پشتیبانی میکند. میتوانید برنامه Chrome را از:
پایدار: https://play.google.com/store/apps/details?id=com.android.chrome
پیوندهای زبانی Selenium WebDriver
اتصالات زبانی WebDriver پروژه استاندارد سلنیوم باید برای زبان انتخابی شما برای نوشتن تستها نصب شود. این کتابخانه از طریق مدیر بسته محلی دوستانه شما یا پروژه سلنیوم ( https://www.seleniumhq.org/download/ ) در دسترس است. به عنوان مثال، پیوندهای زبان برای پایتون را می توان با pip نصب کرد.
$ pip install selenium
Android SDK
SDK را می توان از developer.android.com/sdk/ دانلود کرد
الزامات دستگاه
از نسخه 33 کروم، دیگر نیازی به دستگاه روت شده نیست. اگر آزمایشهایی را روی نسخههای پایینتر Chrome اجرا میکردند، دستگاهها باید روت میشدند زیرا ChromeDriver برای تنظیم آرگومانهای خط فرمان Chrome نیاز به دسترسی نوشتن به فهرست /data/local
داشت.
ChromeDriver را اجرا کنید
سرور Android SDK's Android Debug Bridge (adb) را راه اندازی کنید:
$ adb start-server
اگر قبل از نسخه 33 روی برنامه Chrome آزمایش میکنید، مطمئن شوید که adb shell به دایرکتوری /data/local در دستگاه دسترسی خواندن/نوشتن دارد:
$ adb shell su -c chmod 777 /data/local
معمولاً توصیه میشود ChromeDriver را از طریق کتابخانه Selenium راهاندازی کنید، اگرچه میتوانید آن را به صورت دستی از خط فرمان نیز راهاندازی کنید. برای اطلاعات بیشتر به شروع به کار مراجعه کنید.
$ ./chromedriver
گزینه های مخصوص اندروید
گزینههای Chrome زیر برای برنامههای Chrome و WebView قابل اجرا هستند:
-
androidPackage
: نام بسته برنامه Chrome یا WebView. -
androidDeviceSerial
: (اختیاری) شماره سریال دستگاهی که برنامه روی آن راه اندازی می شود (به بخش چند دستگاه در زیر مراجعه کنید). -
androidUseRunningApp
: (اختیاری) بهجای راهاندازی برنامه با فهرست دادههای واضح، به یک برنامه در حال اجرا متصل کنید.
قابلیت های زیر فقط برای برنامه های WebView قابل استفاده است.
- androidActivity : نام فعالیت میزبان WebView.
- androidProcess : (اختیاری) نام فرآیند فعالیت میزبان WebView (همانطور که توسط ps داده شده است). در صورت عدم ارائه، نام فرآیند مشابه
androidPackage
در نظر گرفته میشود.
یک تست اجرا کنید
آزمایشها باید نام بسته برنامه را از طریق گزینه androidPackage
به ChromeDriver ارسال کنند. به عنوان مثال، یک تست حداقلی پایتون به شکل زیر است:
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