package org.fluentlenium.integration; import org.fluentlenium.core.FluentPage; import org.fluentlenium.core.annotation.Page; import org.fluentlenium.integration.localtest.IntegrationFluentTest; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; public class IframeTest extends IntegrationFluentTest { @Page private IFramePage iFramePage; @Test public void shouldGetElementIntoAFrameWithNativeInstructions() { // Given // When iFramePage.go(); // Then iFramePage.isAt(); assertThat($("h1").text()).isEqualTo("Heading 1"); getDriver().switchTo().frame("iframe1"); assertThat($("h1").text()).isEqualTo("Heading"); assertThat($("#oneline").text()).isEqualTo("A single line of text"); getDriver().switchTo().defaultContent(); assertThat($("h2").text()).isEqualTo("Heading 2"); } @Test public void shouldGetElementIntoAFrameWithFluentSwitchTo() { // Given // When iFramePage.go(); // Then iFramePage.isAt(); assertThat($("h1").text()).isEqualTo("Heading 1"); iFramePage.switchTo(el("#iframe1")); assertThat($("h1").text()).isEqualTo("Heading"); assertThat($("#oneline").text()).isEqualTo("A single line of text"); iFramePage.switchToDefault(); assertThat($("h2").text()).isEqualTo("Heading 2"); } @Test public void shouldGetElementIntoAFrameWithFluentSwitchToBis() { // Given // When iFramePage.go(); // Then iFramePage.isAt(); assertThat($("h1").text()).isEqualTo("Heading 1"); iFramePage.switchTo(el("#iframe1")); assertThat($("h1").text()).isEqualTo("Heading"); assertThat($("#oneline").text()).isEqualTo("A single line of text"); iFramePage.switchTo(); assertThat($("h2").text()).isEqualTo("Heading 2"); } @Test public void shouldGetElementIntoAFrameWithFluentSwitchToDefault() { // Given // When iFramePage.go(); // Then iFramePage.isAt(); assertThat($("h1").text()).isEqualTo("Heading 1"); iFramePage.switchTo(el("#iframe1")); assertThat($("h1").text()).isEqualTo("Heading"); assertThat($("#oneline").text()).isEqualTo("A single line of text"); iFramePage.switchToDefault(); assertThat($("h2").text()).isEqualTo("Heading 2"); } } class IFramePage extends FluentPage { @Override public String getUrl() { return IntegrationFluentTest.IFRAME_URL; } @Override public void isAt() { assertThat(getDriver().getTitle()).endsWith("Container"); } }