Package org.appfuse.webapp.integration

Source Code of org.appfuse.webapp.integration.AppFuseWebITCase

package org.appfuse.webapp.integration;

import static org.junit.Assert.assertTrue;

import java.io.File;
import java.util.Date;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;

public class AppFuseWebITCase extends SeleniumBaseTestCase {


    @Test
    public void testSeleniumTestCase() throws Exception {

        testLoadBaseUrl();

        testSignUp();

        testViewProfile();

        testLogout();

        testRequestPasswordHint();

        testLogin();

        testEditProfile();

        testViewUsers();

        testEditUser();

        testAddNewUser();

        testDeleteUser("newuser");

        testDeleteUser("signupuser");

        testViewActiveUsers();

        testReloadOptions();

        testUploadFile();

        testLogout();

    }

    public void testLoadBaseUrl() throws InterruptedException {
        log.debug("");
        getDriver().get(getBaseUrl());
        assertTrue(waitForTitle(getDriver(), "^Login[\\s\\S]*$"));
    }

    public void testSignUp() throws InterruptedException {
        log.debug("");
        assertTrue(isElementPresent(By.linkText("Signup")));
        getDriver().findElement(By.linkText("Signup")).click();
        assertTrue(waitForElement(By.linkText("Save")));

        getDriver().findElement(By.linkText("Save")).click();
        assertTrue(waitForAlert());

        assertTrue(isElementPresent(By.cssSelector("form div.error")));
        getDriver().findElement(By.name("username")).clear();
        getDriver().findElement(By.name("username")).sendKeys("signupuser");
        getDriver().findElement(By.name("password")).clear();
        getDriver().findElement(By.name("password")).sendKeys("signupuser");
        getDriver().findElement(By.name("passwordHint")).clear();
        getDriver().findElement(By.name("passwordHint")).sendKeys("signupuser");
        getDriver().findElement(By.name("firstName")).clear();
        getDriver().findElement(By.name("firstName")).sendKeys("signupuser");
        getDriver().findElement(By.name("lastName")).clear();
        getDriver().findElement(By.name("lastName")).sendKeys("signupuser");
        getDriver().findElement(By.name("email")).clear();
        getDriver().findElement(By.name("email")).sendKeys("signup@test.org");

        getDriver().findElement(By.linkText("Save")).click();
        assertTrue(waitForTitle(getDriver(), "^Main Menu[\\s\\S]*$"));
    }

    public void testViewProfile() throws InterruptedException {
        log.debug("");
        assertTrue(getDriver().getTitle().matches("^Main Menu[\\s\\S]*$"));
        getDriver().findElement(By.linkText("Edit Profile")).click();
        assertTrue(waitForTitle(getDriver(), "^User Settings[\\s\\S]*$"));

        assertTrue(waitForElement(By.linkText("Save")));

        getDriver().findElement(By.linkText("Save")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testRequestPasswordHint() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("password hint e-mailed to you")).click();
        assertTrue(waitForAlert());

        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).clear();
        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).sendKeys("nouser");
        getDriver().findElement(By.linkText("password hint e-mailed to you")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-error")));

        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).clear();
        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).sendKeys("admin");
        getDriver().findElement(By.linkText("password hint e-mailed to you")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testLogin() throws InterruptedException {
        log.debug("");
        assertTrue(waitForTitle(getDriver(), "^Login[\\s\\S]*$"));

        assertTrue(isElementPresent(By.linkText("Login")));
        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).clear();
        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).sendKeys("baduser");
        getDriver().findElement(By.cssSelector("input.gwt-PasswordTextBox")).clear();
        getDriver().findElement(By.cssSelector("input.gwt-PasswordTextBox")).sendKeys("badpassword");
        getDriver().findElement(By.xpath("(//a[contains(text(),'Login')])[2]")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-error")));

        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).clear();
        getDriver().findElement(By.cssSelector("input.gwt-TextBox")).sendKeys("admin");
        getDriver().findElement(By.cssSelector("input.gwt-PasswordTextBox")).clear();
        getDriver().findElement(By.cssSelector("input.gwt-PasswordTextBox")).sendKeys("admin");
        getDriver().findElement(By.xpath("(//a[contains(text(),'Login')])[2]")).click();
        assertTrue(waitForTitle(getDriver(), "^Main Menu[\\s\\S]*$"));
    }

    public void testEditProfile() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Edit Profile")).click();
        assertTrue(waitForTitle(getDriver(), "^User Settings[\\s\\S]*$"));

        assertTrue(waitForElement(By.cssSelector("form.well")));

        getDriver().findElement(By.name("phoneNumber")).clear();
        getDriver().findElement(By.name("phoneNumber")).sendKeys("555 555 555");
        getDriver().findElement(By.linkText("Save")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testViewUsers() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("View Users")).click();

        assertTrue(waitForTitle(getDriver(), "^User List[\\s\\S]*$"));
        assertTrue(waitForElement(By.cssSelector("div#search input")));

        getDriver().findElement(By.cssSelector("div#search input")).clear();
        getDriver().findElement(By.cssSelector("div#search input")).sendKeys("matt");
        getDriver().findElement(By.cssSelector("button.btn")).click();
        assertTrue(waitForElement(By.linkText("admin")));

        getDriver().findElement(By.cssSelector("input.input-medium.search-query")).clear();
        getDriver().findElement(By.cssSelector("input.input-medium.search-query")).sendKeys("nonuser");
        getDriver().findElement(By.cssSelector("button.btn")).click();
        assertTrue(waitForElementNotPresent(By.linkText("admin")));

        getDriver().findElement(By.linkText("Done")).click();
        assertTrue(waitForTitle(getDriver(), "^Main Menu[\\s\\S]*$"));
    }

    public void testEditUser() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("View Users")).click();

        assertTrue(waitForElement(By.linkText("admin")));
        getDriver().findElement(By.linkText("admin")).click();

        assertTrue(waitForElement(By.name("phoneNumber")));
        getDriver().findElement(By.name("phoneNumber")).clear();
        getDriver().findElement(By.name("phoneNumber")).sendKeys("555 555 777");
        getDriver().findElement(By.linkText("Save")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
        getDriver().findElement(By.linkText("Done")).click();
    }

    public void testViewActiveUsers() {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("Current Users")).click();
        assertTrue(waitForTitle(getDriver(), "^Active Users[\\s\\S]*$"));
    }

    public void testAddNewUser() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("View Users")).click();
        assertTrue(waitForElement(By.linkText("Add")));

        getDriver().findElement(By.linkText("Add")).click();
        getDriver().findElement(By.linkText("Save")).click();
        assertTrue(waitForAlert());

        getDriver().findElement(By.name("username")).clear();
        getDriver().findElement(By.name("username")).sendKeys("newuser");
        getDriver().findElement(By.name("passwordHint")).clear();
        getDriver().findElement(By.name("passwordHint")).sendKeys("newuser");
        getDriver().findElement(By.name("firstName")).clear();
        getDriver().findElement(By.name("firstName")).sendKeys("New");
        getDriver().findElement(By.name("lastName")).clear();
        getDriver().findElement(By.name("lastName")).sendKeys("User");
        getDriver().findElement(By.name("email")).clear();
        getDriver().findElement(By.name("email")).sendKeys("email@test.org");
        getDriver().findElement(By.name("enabled")).click();
        getDriver().findElement(By.linkText("Save")).click();

        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testDeleteUser(final String username) throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("View Users")).click();

        // log.debug("waiting for link " + new Date());
        // assertTrue(waitForElement(By.linkText(username)));
        // log.debug("done waiting for link " + new Date());
        Thread.sleep(1000);
        log.debug("clicking link " + new Date());
        getDriver().findElement(By.linkText(username)).click();
        log.debug("link clicked " + new Date());

        assertTrue(waitForElement(By.linkText("Delete")));
        getDriver().findElement(By.linkText("Delete")).click();

        assertTrue(waitForAlert());
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testReloadOptions() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("Reload Options")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testUploadFile() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Administration")).click();
        getDriver().findElement(By.linkText("Upload A File")).click();
        assertTrue(waitForTitle(getDriver(), "^File Upload[\\s\\S]*$"));

        getDriver().findElement(By.name("name")).clear();
        getDriver().findElement(By.name("name")).sendKeys("File");
        // getDriver().findElement(By.name("file")).clear();
        final WebElement fileinput = getDriver().findElement(By.name("file"));
        fileinput.sendKeys(new File("pom.xml").getAbsolutePath());
        getDriver().findElement(By.cssSelector("button.btn.btn-primary")).click();
        assertTrue(waitForElement(By.cssSelector("div.alert-success")));
    }

    public void testLogout() throws InterruptedException {
        log.debug("");
        getDriver().findElement(By.linkText("Logout")).click();
        // signup end
        // password hint
        assertTrue(waitForElement(By.linkText("password hint e-mailed to you")));
    }
}
TOP

Related Classes of org.appfuse.webapp.integration.AppFuseWebITCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.