HtmlUnit
Pierwsze wydanie | 22 maja 2002 |
---|---|
Wersja stabilna | 2.50.0 / 16 maja 2021
|
Magazyn | |
Napisane w | Jawa |
System operacyjny | Wieloplatformowy ( JVM ) |
Dostępne w | język angielski |
Typ | przeglądarka internetowa |
Licencja | Licencja Apache 2.0 |
Strona internetowa | https://htmlunit.sourceforge.io/ |
HtmlUnit to bezgłowa przeglądarka internetowa napisana w Javie . Umożliwia wysokopoziomową manipulację stronami internetowymi z innego kodu Java, w tym wypełnianie i przesyłanie formularzy oraz klikanie hiperłączy . Zapewnia również dostęp do struktury i szczegółów w ramach otrzymanych stron internetowych . HtmlUnit emuluje części zachowania przeglądarki, w tym aspekty niższego poziomu protokołów TCP/IP i HTTP . Sekwencja taka jak getPage(url)
, getLinkWith("Kliknij tutaj")
, click()
umożliwia użytkownikowi poruszanie się po hipertekście i uzyskiwanie stron internetowych zawierających HTML , JavaScript , Ajax i pliki cookie . Ta bezgłowa przeglądarka radzi sobie z bezpieczeństwem HTTPS, podstawowym uwierzytelnianiem HTTP, automatycznym przekierowaniem strony i innymi nagłówkami HTTP. Pozwala kodowi testowemu Java sprawdzać zwracane strony jako tekst, XML DOM lub jako zbiory formularzy, tabel i łączy.
Celem jest symulacja prawdziwych przeglądarek; mianowicie Chrome , Firefox ESR 38, Internet Explorer 8 i 11 oraz Edge (eksperymentalna).
Najczęstszym zastosowaniem HtmlUnit jest automatyzacja testów stron internetowych, ale czasami można go użyć do skrobania stron internetowych lub pobierania zawartości witryny.
Korzyści
- Zapewnia interfejs API wysokiego poziomu, odbierając użytkownikowi szczegóły niższego poziomu.
- W porównaniu z innymi implementacjami WebDriver, HtmlUnitDriver jest najszybszy do wdrożenia.
- Można go skonfigurować tak, aby symulował określoną przeglądarkę.
Wady
- Nie można przetestować układu elementów i renderowania.
- Obsługa JavaScript wciąż nie jest kompletna. I to jest zwykle główny obszar ulepszeń.
Stosowane technologie
- DOM W3C
- Połączenie HTTP przy użyciu komponentów Apache HttpComponents
- JavaScript , używając rozwidlonego Rhino
- Parsowanie HTML , NekoHTML
- CSS : przy użyciu parsera CSS
- Obsługa XPath przy użyciu Xalana
Biblioteki używające HtmlUnit
Zobacz też
- Bezgłowy system
- PhantomJS to bezgłowy WebKit z JavaScript API
- Skrobanie sieci
- Testy internetowe
- xJednostka
- Szlak rzeczny
- Selenium WebDriver
Bibliografia
- Bestia, Cedrik; Suleiman, Hani (15 października 2007). Testowanie Java nowej generacji: TestNG i zaawansowane koncepcje . ISBN 9780132702270 . s. 339– (wymagana subskrypcja)
Dalsza lektura
- Langer, A. "Rozszerzenie HtmlUnit do automatyzacji testów aplikacji internetowych przy użyciu AJAX" ; Betreuer/in (nen): T. Grechenig, M. Bernhart; 183/1, 2009. (wymagana subskrypcja)
- Massol, Wincenty; Timothy M. O'Brien (2005). Maven: Notatnik programisty . Media O'Reilly. s. 83–86 . ISBN 978-0-596-55297-8 .
- Taczyjew, Petar; Felipe Leme; Wincentego Massola (2010). „12. Testowanie warstwy prezentacji” . JUnit w akcji (2 wyd.). Manninga. s. 190–208. ISBN 978-1-935182-02-3 .
- Harold, Elliotte Rusty (16 marca 2012). Refaktoryzacja HTML . ISBN 9780132701877 .
- Tong, Ka Iok (23 kwietnia 2006). Radość z tworzenia stron internetowych za pomocą Tapestry . ISBN 9781411649132 .
- Schalk, Chris; oparzenia, Ed; Holmes, James (25 sierpnia 2006). Twarze JavaServer: kompletne odniesienie . ISBN 9780072262407 . (wymagana subskrypcja)