2012-03-15 11 views
8

मैं एंड्रॉयड पर एक ब्राउज़र का अनुकरण पुस्तकालय है, जो एक वेबसाइट (HTTP/HTTPS) HttpUnit/HtmlUnit एंड्रॉयड

  • पुनर्निर्देशन लोड करने की तरह

    • चीज़ों को प्रबंधित करने के लिए देख रहा हूँ के लिए बराबर), जावास्क्रिप्ट, HMTL टैग
    • को भरना एचटीएमएल रूपों
    • आसान एचटीएमएल पार्स करने (है कि एक के लिए वापस JSoup पर गिर सकता है)

    HttpUnit या HtmlUnit बस ठीक होगा, लेकिन उनमें से दोनों एंड्रॉइड पर चलने के लिए दर्द हैं।

    क्या एंड्रॉइड) एचटीपी क्लाइंट (और इसलिए उपर्युक्त में से बहुत कुछ कर रहे हैं) के अलावा कोई अन्य विकल्प है? या मैं किसी भी तरह एंड्रॉइड वेबकिट/ब्राउज़र का उपयोग कर सकता हूं?

    अग्रिम धन्यवाद!

  • +1

    यह पुरानी है, लेकिन क्या आप उपयोग कर खत्म किया? क्या एंड्रॉइड प्रोजेक्ट में सीधे httpunit जार का उपयोग किया जा सकता है? – Fakeer

    +0

    उस समय मैंने कोशिश की, नहीं। तब से यह बदल सकता है, हालांकि। अफसोस की बात है, मैंने एंड्रॉइड पर छोड़ दिया और प्लेटफॉर्म स्विच किए (इसे एक वेब-आधारित एप्लिकेशन बनाया)। मैंने एंड्रॉइडड्राइवर की कोशिश की, लेकिन मैं इसे अपने विशिष्ट मामले में उपयोग नहीं कर सका (अब और याद नहीं कर सकता, क्षमा करें)। – LangerJan

    उत्तर

    3

    मैं आपको सेलेनियम के लिए AndroidDriver पर एक नज़र रखने की सलाह दूंगा। यह एंड्रॉइड टेस्टिंग फ्रेमवर्क के साथ आसान परीक्षण वेब अनुप्रयोगों के लिए एक सीधा दृष्टिकोण प्रतीत होता है।

    आपको ऐसी गतिविधि का उपयोग करना चाहिए जिसमें HTTP/HTTP वेबसाइटों का परीक्षण करने के लिए वेबव्यू शामिल है। ड्राइवर इस गतिविधि के साथ instanciated है:

    WebDriver driver = new AndroidWebDriver(getActivity()); 
    

    यहां नमूने के परीक्षण, ऊपर के लिंक से उद्धृत किया गया है:

    public void testGoogleWorks() 
        // Loads www.google.com 
        driver.get("http://www.google.com"); 
        // Lookup the search box on the page by it's HTML name property 
        WebElement searchBox = driver.findElement(By.name("q")); 
        // Enter keys in the search box 
        searchBox.sendKeys("Android Rocks!"); 
        // Hit enter 
        searchBox.submit(); 
        // Ensure the title contains "Google" 
        assertTrue(driver.getTitle().contains("Google")); 
        // Ensure that there is at least one link with the keyword "Android" 
        assertTrue(driver.findElements(By.partialLinkText("Android")).size() > 1); 
    } 
    
    +0

    धन्यवाद, मैं कोशिश करूँगा। हालांकि यह एक ओवरकिल की तरह लगता है, क्योंकि मुझे एक अलग एपीके स्थापित करने और इसके साथ संवाद करने की आवश्यकता है। फिर भी यह उपलब्ध सर्वोत्तम समाधान की तरह दिखता है :) – LangerJan

    +0

    @ लेंजरजैन https://github.com/krosenvold/selenium-git-release-candidate/blob/master/android/prebuilt/android-server.apk – erm3nda