/* * AuthenticatedHtmlUnitDriver.java */ package org.nocket.selenium.infrastructure; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.DefaultCredentialsProvider; import com.gargoylesoftware.htmlunit.WebClient; import org.openqa.selenium.Capabilities; import org.openqa.selenium.WebDriver; import org.openqa.selenium.htmlunit.HtmlUnitDriver; /* * Class extending HtmlUnitDriver to support BASIC authentication * @author Sebastiano Armeli-Battana */ /** * The Class AuthenticatedHtmlUnitDriver. */ public class AuthenticatedHtmlUnitDriver extends HtmlUnitDriver { /** The username. */ private static String USERNAME; /** The password. */ private static String PASSWORD; /** * Instantiates a new authenticated html unit driver. */ public AuthenticatedHtmlUnitDriver() { super(); setJavascriptEnabled(true); } /** * Instantiates a new authenticated html unit driver. * * @param version * the version */ public AuthenticatedHtmlUnitDriver(final BrowserVersion version) { super(version); setJavascriptEnabled(true); } /** * Instantiates a new authenticated html unit driver. * * @param capabilities * the capabilities */ public AuthenticatedHtmlUnitDriver(final Capabilities capabilities) { super(capabilities); setJavascriptEnabled(true); } /** * Creates the. * * @param username * the username * @param password * the password * @return the web driver */ public static WebDriver create(final String username, final String password) { USERNAME = username; PASSWORD = password; return new AuthenticatedHtmlUnitDriver(); } /** * Creates the. * * @param version * the version * @param username * the username * @param password * the password * @return the web driver */ public static WebDriver create(final BrowserVersion version, final String username, final String password) { USERNAME = username; PASSWORD = password; return new AuthenticatedHtmlUnitDriver(version); } /** * Creates the. * * @param capabilities * the capabilities * @param username * the username * @param password * the password * @return the web driver */ public static WebDriver create(final Capabilities capabilities, final String username, final String password) { USERNAME = username; PASSWORD = password; return new AuthenticatedHtmlUnitDriver(capabilities); } /* * (non-Javadoc) * @see * org.openqa.selenium.htmlunit.HtmlUnitDriver#newWebClient(com.gargoylesoftware * .htmlunit.BrowserVersion) */ @Override protected WebClient newWebClient(final BrowserVersion browserVersion) { WebClient client = super.newWebClient(browserVersion); DefaultCredentialsProvider provider = new DefaultCredentialsProvider(); provider.addCredentials(USERNAME, PASSWORD); client.setCredentialsProvider(provider); return client; } }