Testeando webs con HtmlUnit

07-04-2017
 
HtmlUnit

HtmlUnit

HtmlUnit es un navegador web Java sin GUI(Graphic User Interface). Es decir, que es un navegador para abrir páginas web programaticamente, muy utilizado para testear webs, obtener información, crear robots, etc. HtmlUnit es usado por un montón de proyectos de software libre.

Para hacer una aplicación Java que abra una página web con este navegador lo haremos con Gradle. Aquí esta el fichero de configuración ‘build.gradle’:

 
apply plugin: 'java'

repositories {
    jcenter()
	}

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.12'

    compile 'net.sourceforge.htmlunit:htmlunit:2.24'

    testCompile 'junit:junit:4.12'
	}

Una vez ya tenemos las dependencias ya podemos hacer uso del navegador en nuestra aplicación:

 
// Podemos decirle que navegador emular, procy, etc.
WebClient webClient = new WebClient( BrowserVersion.CHROME );

// Configuramos opciones
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setCssEnabled(true);
webClient.getOptions().setJavaScriptEnabled(true);

// Cargamos página web
HtmlPage page1 = webClient.getPage("http://www.google.com");
			
// Ahora podemos interactuar con la web
DomElement e=page1.getElementById("ID del elemento");
System.out.println( e.asXml() );
			
// Esperamos 40 segundos y cerrramos el navegador
Thread.sleep( 40*1000 );

System.out.println( "Closing browser" );
			
webClient.close();

Leave a Reply

© Albert Coronado Calzada