2012-03-15 27 views
8

szukam biblioteki przeglądarce symulacji na Androidzie, który obsługuje takie rzeczyHttpUnit/HtmlUnit odpowiednik dla android

  • ładowanie internetową (HTTP/HTTPS)
  • przekierowania HTTP (3xx kodów stanu), JavaScript znaczniki HMTL
  • wypełnienie html formy
  • łatwo HTML dekodowaniu (może spaść do JSoup do tego jednego)

HttpUnit lub HtmlUnit zrobiłoby się dobrze, ale oba z nich są bolesne, aby uruchomić Androida.

Czy istnieje inna opcja niż (HttpClient) (Android) HttpClient (a zatem robi wiele z powyższych na własną rękę)? Czy mogę jakoś skorzystać z webkita/przeglądarki dla Androida?

Z góry dziękuję!

+1

To jest stary, ale co pan skończyć użyciu? Czy słoik httpun może być używany bezpośrednio w projekcie Android? – Fakeer

+0

W tym czasie próbowałem, nie. Jednak mogło się to zmienić od tego czasu. Niestety, skończyłem na rezygnacji z Androida i przełączeniu platform (zrobiłem z niego aplikację internetową). Próbowałem AndroidDriver, ale nie mogłem go użyć w moim konkretnym przypadku (nie pamiętam więcej, dlaczego, przepraszam). – LangerJan

Odpowiedz

3

Polecam, aby zapoznać się z selenem pod numerem AndroidDriver. Wydaje się to być prostym podejściem do łatwych testów aplikacji internetowych z systemem Android Testing Framework.

Musisz użyć działania, które zawiera WebView w celu przetestowania witryn HTTP/HTTPs. kierowca jest instanciated z tym działalność:

WebDriver driver = new AndroidWebDriver(getActivity()); 

Tutaj jest test próbki, cytowany z linku powyżej:

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

Dzięki, spróbuję tego. Wydaje się to jednak trochę przesadą, ponieważ muszę zainstalować oddzielną aplikację i komunikować się z nią. Niemniej jednak wygląda na najlepsze dostępne rozwiązanie :) – LangerJan

+0

@LangerJan https://github.com/krosenvold/selenium-git-release-candidate/blob/master/android/prebuilt/android-server.apk – erm3nda