package org.qooxdoo.demo.websitewidgetbrowser; import java.util.Iterator; import java.util.List; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; public class Tabs extends WebsiteWidgetBrowser { @BeforeClass public static void setUpBeforeClass() throws Exception { WebsiteWidgetBrowser.setUpBeforeClass(); selectTab("Tabs"); } protected String getActivePageText(WebElement tabs) { List<WebElement> pages = tabs.findElements(By.xpath("descendant::div[contains(@class, 'qx-tabs-page')]")); Iterator<WebElement> itr = pages.iterator(); while (itr.hasNext()) { WebElement page = itr.next(); if (page.isDisplayed()) { return page.getText(); } } return null; } @Test public void tabs() throws InterruptedException { List<WebElement> alignmentRadios = webDriver.findElements(By.xpath("//div[@id = 'tabs-page']/descendant::input[@name = 'tabalign']")); Iterator<WebElement> itr = alignmentRadios.iterator(); while (itr.hasNext()) { WebElement radio = itr.next(); radio.click(); testTabs(); } } protected void testTabs() { WebElement tabs = webDriver.findElement(By.xpath("//div[@id = 'tabs-page']/descendant::div[contains(@class, 'qx-tabs')]")); List<WebElement> tabButtons = tabs.findElements(By.xpath("descendant::li[contains(@class, 'qx-tabs-button')]/button")); Iterator<WebElement> itr = tabButtons.iterator(); while (itr.hasNext()) { WebElement tabButton = itr.next(); String buttonText = tabButton.getText(); tabButton.click(); String activePageText = getActivePageText(tabs); Assert.assertEquals(buttonText, activePageText); } } }