SandboxTest.java 1.85 KB
package pl.labno.bernard.htmlunified;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.CollectingAlertHandler;
import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import org.junit.Assert;
import org.junit.Test;

import java.io.IOException;
import java.util.ArrayList;

public class SandboxTest {

    @Test
    public void testClickImage() throws IOException {
        final WebClient client = new WebClient(BrowserVersion.FIREFOX_3_6);
        client.setAjaxController(new NicelyResynchronizingAjaxController());
        HtmlPage page = (HtmlPage) client.getPage("file:./target/test-classes/sandbox.html");
        Assert.assertEquals("elementToHide", page.getElementById("elementToHide").asText());
        page.getElementById("close").click();
        Assert.assertEquals("", page.getElementById("elementToHide").asText());
    }

    @Test
    public void testClickJQueryBoundElement() throws IOException {
        final WebClient client = new WebClient(BrowserVersion.FIREFOX_3_6);
        client.setAjaxController(new NicelyResynchronizingAjaxController());
        HtmlPage page = (HtmlPage) client.getPage("file:./target/test-classes/sandbox.html");
        final ArrayList<String> alerts = new ArrayList<String>();
        client.setAlertHandler(new CollectingAlertHandler(alerts));
        page.getElementById("clickable").click();
        System.out.println(alerts);
        Assert.assertEquals(1, alerts.size());
        Assert.assertEquals("Clicked clickable", alerts.get(0));

        alerts.clear();
        page.getElementById("clickable2child").click();
        System.out.println(alerts);
        Assert.assertEquals(1, alerts.size());
        Assert.assertEquals("Clicked clickable2", alerts.get(0));
    }
}