Android

डिपेंडेंसी

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

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

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

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

सेलेनियम WebDriver लैंग्वेज बाइंडिंग

टेस्ट लिखने के लिए, अपनी पसंदीदा भाषा के हिसाब से स्टैंडर्ड सेलेनियम प्रोजेक्ट 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 डायरेक्ट्री को पढ़ने/लिखने का ऐक्सेस हो:

     $ 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