Android

নির্ভরতা

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

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

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

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

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

আপনার পরীক্ষা লেখার জন্য আপনার পছন্দের ভাষার জন্য স্ট্যান্ডার্ড সেলেনিয়াম প্রোজেক্ট WebDriver ভাষা বাইন্ডিং ইনস্টল করা দরকার। এই লাইব্রেরিটি আপনার বন্ধুত্বপূর্ণ স্থানীয় প্যাকেজ ম্যানেজার বা সেলেনিয়াম প্রকল্প ( https://www.seleniumhq.org/download/ ) থেকে উপলব্ধ। উদাহরণস্বরূপ, পাইথনের ভাষা বাইন্ডিংগুলি পিপ দিয়ে ইনস্টল করা যেতে পারে।

$ 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
    

অ্যান্ড্রয়েড-নির্দিষ্ট বিকল্প

নিম্নলিখিত 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