Android

डिपेंडेंसी

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

काम करने वाले ऐप्लिकेशन

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

स्थिर: https://play.google.com/store/apps/details?id=com.android.chrome

Selenium WebDriver लैंग्वेज बाइंडिंग

टेस्ट लिखने के लिए, आपको अपनी पसंद की भाषा के लिए स्टैंडर्ड selenium प्रोजेक्ट WebDriver भाषा बाइंडिंग इंस्टॉल करना होगा. यह लाइब्रेरी आपके दोस्ताना लोकल पैकेज मैनेजर या सेलेनियम प्रोजेक्ट (https://www.seleniumhq.org/download/) से उपलब्ध है. उदाहरण के लिए, Python के लिए लैंग्वेज बाइंडिंग को पीआईपी (पिक्चर में पिक्चर) के साथ इंस्टॉल किया जा सकता है.

$ pip install selenium

Android SDK

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

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

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

ChromeDriver चलाएं

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

    $ adb start-server
    
  2. अगर Chrome ऐप्लिकेशन पर वर्शन 33 से पहले के वर्शन को टेस्ट किया जा रहा है, तो पक्का करें कि adb शेल के पास डिवाइस पर/data /local directory के लिए पढ़ने/लिखने का ऐक्सेस हो:

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

    $ ./chromedriver
    

Android के लिए खास विकल्प

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

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

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

  • androidActivity: वेबव्यू को होस्ट करने वाली गतिविधि का नाम.
  • androidProcess: (ज़रूरी नहीं) वेबव्यू को होस्ट करने वाली गतिविधि का प्रोसेस नाम (पीएस के मुताबिक). अगर इसकी जानकारी नहीं दी गई है, तो प्रोसेस का नाम 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()

कई डिवाइस

किसी सेशन में किसी खास डिवाइस का इस्तेमाल करने के लिए, androidDeviceSerial को Chrome के विकल्प के तौर पर चुनें.

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

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

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

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