Android

ChromeDriver के लिए सबसे नए बाइनरी को, अलग-अलग होस्ट प्लैटफ़ॉर्म के लिए ज़िप फ़ाइलों के तौर पर पैकेज किया जाता है.

ChromeDriver के पुराने वर्शन, डाउनलोड में देखे जा सकते हैं.

सुरक्षित ब्राउज़िंग की सुविधा वाले ऐप्लिकेशन

ChromeDriver, Chrome ब्राउज़र (30 या उसके बाद के वर्शन) और Android 4.4 (KitKat) के बाद के वर्शन वाले वेबव्यू पर आधारित ऐप्लिकेशन पर टेस्ट चलाने की सुविधा देता है. हालांकि, इसके लिए वेब डीबगिंग और JavaScript की सुविधा चालू होनी चाहिए.

Chrome ऐप्लिकेशन को इन जगहों से इंस्टॉल किया जा सकता है:

स्टेबल वर्शन: https://play.google.com/store/apps/details?id=com.android.chrome

Selenium WebDriver भाषा बाइंडिंग

अपनी पसंद की भाषा में टेस्ट लिखने के लिए, Selenium प्रोजेक्ट की WebDriver भाषा बाइंडिंग को इंस्टॉल करना ज़रूरी है. यह लाइब्रेरी, आपके लोकल पैकेज मैनेजर या Selenium प्रोजेक्ट में उपलब्ध है.

उदाहरण के लिए, Python के लिए भाषा बाइंडिंग को pip की मदद से इंस्टॉल किया जा सकता है.

$ pip install selenium

Android SDK

SDK टूल को developer.android.com/sdk/ से डाउनलोड किया जा सकता है.

डिवाइस की ज़रूरी शर्तें

Chrome के 33 वर्शन के बाद, रूट किए गए डिवाइस की ज़रूरत नहीं है. अगर Chrome के पुराने वर्शन पर जांच की जा रही है, तो डिवाइसों को रूट किया जाना चाहिए. ऐसा इसलिए, क्योंकि Chrome की कमांडलाइन आर्ग्युमेंट सेट करने के लिए, ChromeDriver को /data/local डायरेक्ट्री में लिखने का ऐक्सेस चाहिए.

ChromeDriver चलाना

  1. Android SDK टूल का Android डीबग ब्रिज (adb) सर्वर शुरू करें:

    $ adb start-server
    
  2. अगर आपको Chrome ऐप्लिकेशन के 33 से पहले के वर्शन पर टेस्ट करना है, तो पक्का करें कि adb shell के पास डिवाइस पर /data/local डायरेक्ट्री को पढ़ने और उसमें बदलाव करने का ऐक्सेस हो:

    $ adb shell su -c chmod 777 /data/local
    
  3. हमारा सुझाव है कि आप Selenium लाइब्रेरी की मदद से ChromeDriver शुरू करें. हालांकि, इसे कमांड-लाइन से मैन्युअल तरीके से भी शुरू किया जा सकता है.

    $ ./chromedriver
    

सिर्फ़ Android के लिए उपलब्ध विकल्प

Chrome के ये विकल्प, Chrome और WebView ऐप्लिकेशन, दोनों पर लागू होते हैं:

  • androidPackage: Chrome या वेबव्यू ऐप्लिकेशन का पैकेज नाम.
  • androidDeviceSerial: (ज़रूरी नहीं) उस डिवाइस का सीरियल नंबर जिस पर ऐप्लिकेशन लॉन्च करना है (यहां दिए गए 'एक से ज़्यादा डिवाइस' सेक्शन देखें).
  • androidUseRunningApp: (ज़रूरी नहीं) ऐप्लिकेशन को साफ़ डेटा डायरेक्ट्री के साथ लॉन्च करने के बजाय, पहले से चल रहे ऐप्लिकेशन से अटैच करें.

यहां दी गई सुविधाएं सिर्फ़ वेबव्यू वाले ऐप्लिकेशन पर लागू होती हैं.

  • androidActivity: वेबव्यू को होस्ट करने वाली गतिविधि का नाम.
  • androidProcess: (ज़रूरी नहीं) वेबव्यू को होस्ट करने वाली गतिविधि का नाम (जैसा कि ps ने दिया है). अगर यह एट्रिब्यूट नहीं दिया गया है, तो प्रोसेस का नाम androidPackage के तौर पर माना जाता है.

टेस्ट चलाना

जांचों को androidPackage विकल्प की मदद से, ऐप्लिकेशन के पैकेज का नाम ChromeDriver को देना चाहिए. उदाहरण के लिए, Python का छोटा सा टेस्ट कुछ ऐसा दिखता है:

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 डालें.

अगर सीरियल नंबर नहीं दिया गया है, तो सर्वर हर सेशन के साथ जोड़ने के लिए, बिना इस्तेमाल किए गए किसी डिवाइस को रैंडम तौर पर चुनता है. अगर सभी डिवाइसों पर पहले से ही सक्रिय सेशन मौजूद हैं, तो गड़बड़ी का मैसेज दिखता है. इसलिए, टेस्ट के खत्म होने पर, 'quit' को कॉल करना न भूलें.

wd/hub से कनेक्ट करें

अगर आपके टेस्ट wd/hub से कनेक्ट होने वाले हैं, तो सर्वर लॉन्च करते समय --url-base=wd/hub जोड़ा जा सकता है:

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