package htmlunit; import static net.sourceforge.jwebunit.junit.JWebUnit.assertLinkNotPresent; import static net.sourceforge.jwebunit.junit.JWebUnit.assertLinkPresent; import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextInElement; import static net.sourceforge.jwebunit.junit.JWebUnit.assertTitleEquals; import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt; import static net.sourceforge.jwebunit.junit.JWebUnit.clickLink; import static net.sourceforge.jwebunit.junit.JWebUnit.setBaseUrl; import static net.sourceforge.jwebunit.junit.JWebUnit.setTextField; import static net.sourceforge.jwebunit.junit.JWebUnit.submit; import org.junit.Before; import org.junit.Test; public class JCatalogTest { @Before public void prepare() { setBaseUrl("http://localhost:8080/JCatalog/pages"); } @Test public void testWelcomePage() { beginAt("home.jsf"); assertTitleEquals("JCatalog Application"); assertTextInElement("content", "Welcome to the JCatalog Demo Application"); } @Test public void testLinkToLoginPage() { beginAt("home.jsf"); clickLink("navcontainer:loginLink"); assertTitleEquals("JCatalog Login"); } @Test public void testLoginPage() { testLinkToLoginPage(); setTextField("loginForm:username", "admin"); setTextField("loginForm:password", "masterkey"); submit(); assertTitleEquals("JCatalog Welcome"); } @Test public void testLogout() { testLoginPage(); assertLinkNotPresent("navcontainer:loginLink"); assertLinkPresent("navcontainer:logoutLink"); clickLink("navcontainer:logoutLink"); assertLinkPresent("navcontainer:loginLink"); assertLinkNotPresent("navcontainer:logoutLink"); } }