Package integration

Source Code of integration.TabsTest

package integration;

import com.codeborne.selenide.WebDriverRunner;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;

import java.util.Set;

import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Selectors.byText;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.WebDriverRunner.isChrome;
import static com.codeborne.selenide.WebDriverRunner.isHtmlUnit;
import static org.junit.Assume.assumeFalse;
import static org.junit.Assume.assumeTrue;

public class TabsTest extends IntegrationTest {
  @Before
  public void setUp() {
    openFile("page_with_tabs.html");
  }

  @Test
  public void userCanBrowseTabs_webdriver_api() {
    openFile("page_with_tabs.html");

    WebDriver driver = WebDriverRunner.getWebDriver();
    String windowHandle = driver.getWindowHandle();

    $(byText("Page1: uploads")).click();

    $("h1").shouldHave(text("Tabs"));

    Set<String> windowHandles = driver.getWindowHandles();
    windowHandles.remove(windowHandle);

    driver.switchTo().window(windowHandles.iterator().next());
    $("h1").shouldHave(text("File uploads"));

    driver.switchTo().window(windowHandle);
    $("h1").shouldHave(text("Tabs"));
  }

  @Test
  public void canSwitchToWindowByTitle() {
    $(byText("Page2: alerts")).click();
    $(byText("Page1: uploads")).click();
    $(byText("Page3: jquery")).click();

    $("h1").shouldHave(text("Tabs"));
    switchToWindow("Test::alerts"); $("h1").shouldHave(text("Page with alerts"));
    switchToWindow("Test::jquery"); $("h1").shouldHave(text("Page with JQuery"));
    switchToWindow("Test::uploads"); $("h1").shouldHave(text("File uploads"));
    switchToWindow("Test::tabs"); $("h1").shouldHave(text("Tabs"));
  }

  @Test
  public void canSwitchToWindowByIndex_chrome() {
    assumeTrue(isChrome());
    $(byText("Page2: alerts")).click();
    $(byText("Page1: uploads")).click();
    $(byText("Page3: jquery")).click();

    $("h1").shouldHave(text("Tabs"));

    switchToWindow(1); $("h1").shouldHave(text("Page with JQuery"));
    switchToWindow(2); $("h1").shouldHave(text("File uploads"));
    switchToWindow(3); $("h1").shouldHave(text("Page with alerts"));
    switchToWindow(0); $("h1").shouldHave(text("Tabs"));
  }

  @Test
  public void canSwitchToWindowByIndex_other_browsers_but_htmlunit() {
    assumeFalse(isChrome() || isHtmlUnit());
    $(byText("Page2: alerts")).click();
    $(byText("Page1: uploads")).click();
    $(byText("Page3: jquery")).click();

    $("h1").shouldHave(text("Tabs"));

    switchToWindow(1); $("h1").shouldHave(text("Page with alerts"));
    switchToWindow(2); $("h1").shouldHave(text("File uploads"));
    switchToWindow(3); $("h1").shouldHave(text("Page with JQuery"));
    switchToWindow(0); $("h1").shouldHave(text("Tabs"));
  }

  @After
  public void tearDown() {
    close();
  }
}
TOP

Related Classes of integration.TabsTest

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.