Android

ChromeDriver-এর জন্য সর্বশেষ বাইনারিগুলি বিভিন্ন হোস্ট প্ল্যাটফর্মের জন্য জিপ ফাইল হিসাবে প্যাকেজ করা হয়।

ChromeDriver-এর আগের সংস্করণগুলি ডাউনলোডগুলিতে পাওয়া যাবে।

সমর্থিত অ্যাপস

ChromeDriver ক্রোম ব্রাউজার (সংস্করণ 30+) এবং Android 4.4 (KitKat) থেকে শুরু হওয়া WebView-ভিত্তিক অ্যাপ্লিকেশানগুলিতে চলমান পরীক্ষা সমর্থন করে যা ওয়েব ডিবাগিং এবং JavaScript সক্ষম করেছে৷

আপনি এর থেকে Chrome অ্যাপ ইনস্টল করতে পারেন:

স্থিতিশীল: https://play.google.com/store/apps/details?id=com.android.chrome

সেলেনিয়াম ওয়েবড্রাইভার ল্যাঙ্গুয়েজ বাইন্ডিং

আপনার পরীক্ষা লেখার জন্য আপনার পছন্দের ভাষাটির জন্য স্ট্যান্ডার্ড সেলেনিয়াম প্রজেক্ট ওয়েবড্রাইভার ভাষা বাইন্ডিং ইনস্টল করা দরকার। এই লাইব্রেরিটি আপনার স্থানীয় প্যাকেজ ম্যানেজার বা সেলেনিয়াম প্রকল্পে উপলব্ধ।

উদাহরণস্বরূপ, পাইথনের ভাষা বাইন্ডিংগুলি পিপ দিয়ে ইনস্টল করা যেতে পারে।

$ pip install selenium

অ্যান্ড্রয়েড এসডিকে

SDK developer.android.com/sdk/ থেকে ডাউনলোড করা যেতে পারে।

ডিভাইসের প্রয়োজনীয়তা

Chrome সংস্করণ 33 অনুযায়ী, একটি রুট করা ডিভাইসের প্রয়োজন নেই। Chrome-এর পূর্ববর্তী সংস্করণগুলিতে পরীক্ষা চালানো হলে, Chrome-এর কমান্ড লাইন আর্গুমেন্ট সেট করার জন্য ChromeDriver-এর /data/local ডিরেক্টরিতে লেখার অ্যাক্সেস প্রয়োজন বলে ডিভাইসগুলিকে অবশ্যই রুট করতে হবে।

ChromeDriver চালান

  1. Android SDK এর Android ডিবাগ ব্রিজ (adb) সার্ভার শুরু করুন:

    $ adb start-server
    
  2. যদি 33 সংস্করণের আগে Chrome অ্যাপে পরীক্ষা করা হয়, তাহলে নিশ্চিত করুন যে adb শেল ডিভাইসে /data/local ডিরেক্টরিতে পড়ার এবং লেখার অ্যাক্সেস পেয়েছে:

    $ adb shell su -c chmod 777 /data/local
    
  3. আমরা সুপারিশ করি যে আপনি সেলেনিয়াম লাইব্রেরির মাধ্যমে ChromeDriver শুরু করুন, যদিও আপনি কমান্ড লাইন থেকে নিজেও এটি শুরু করতে পারেন।

    $ ./chromedriver
    

শুধুমাত্র Android বিকল্প

নিম্নলিখিত Chrome বিকল্পগুলি Chrome এবং WebView অ্যাপ উভয়ের জন্যই প্রযোজ্য:

  • androidPackage : Chrome বা WebView অ্যাপের প্যাকেজের নাম।
  • androidDeviceSerial : (ঐচ্ছিক) যে ডিভাইসের সিরিয়াল নম্বরে অ্যাপটি চালু করতে হবে (নীচে একাধিক ডিভাইস বিভাগ দেখুন)।
  • androidUseRunningApp : (ঐচ্ছিক) একটি পরিষ্কার ডেটা ডিরেক্টরি সহ অ্যাপটি চালু করার পরিবর্তে একটি ইতিমধ্যে-চলমান অ্যাপের সাথে সংযুক্ত করুন।

নিম্নলিখিত ক্ষমতাগুলি শুধুমাত্র WebView অ্যাপগুলির জন্য প্রযোজ্য৷

  • androidActivity : ওয়েবভিউ হোস্ট করা কার্যকলাপের নাম।
  • 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()

একাধিক ডিভাইস

একটি সেশনের জন্য একটি নির্দিষ্ট ডিভাইস ব্যবহার করতে, একটি Chrome বিকল্প হিসাবে androidDeviceSerial উল্লেখ করুন।

যদি সিরিয়াল নম্বর নির্দিষ্ট করা না থাকে, সার্ভার প্রতিটি সেশনের সাথে যুক্ত করার জন্য এলোমেলোভাবে একটি অব্যবহৃত ডিভাইস নির্বাচন করে। সমস্ত ডিভাইসে ইতিমধ্যে সক্রিয় সেশন থাকলে একটি ত্রুটি ফেরত দেওয়া হয়, তাই পরীক্ষা শেষ হলে কল প্রস্থান করার বিষয়টি নিশ্চিত করা উচিত।

wd/hub সাথে সংযোগ করুন

যদি আপনার পরীক্ষাগুলি wd/hub এর সাথে সংযোগ করার আশা করে, আপনি সার্ভার চালু করার সময় --url-base=wd/hub যোগ করতে পারেন:

$ ./chromedriver --url-base=wd/hub