Android

وابستگی ها

فایل‌های باینری برای ChromeDriver را می‌توان به صورت فایل‌های فشرده برای پلتفرم‌های میزبان مختلف در صفحه دانلودها یافت.

برنامه های پشتیبانی شده

ChromeDriver از اجرای آزمایش‌ها در مرورگر Chrome (نسخه 30 و بالاتر) و برنامه‌های مبتنی بر WebView که در Android 4.4 (KitKat) شروع می‌شوند و اشکال‌زدایی وب و جاوا اسکریپت را فعال کرده‌اند، پشتیبانی می‌کند. می‌توانید برنامه Chrome را از:

پایدار: https://play.google.com/store/apps/details?id=com.android.chrome

اتصالات زبان سلنیوم 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 را اجرا کنید

  1. سرور Android SDK's Android Debug Bridge (adb) را راه اندازی کنید:

    $ adb start-server
    
  2. اگر قبل از نسخه 33 روی برنامه Chrome آزمایش می‌کنید، مطمئن شوید که adb shell به دایرکتوری /data/local در دستگاه دسترسی خواندن/نوشتن دارد:

     $ adb shell su -c chmod 777 /data/local
    
  3. معمولاً توصیه می‌شود 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