package org.qooxdoo.demo.websitewidgetbrowser;
import java.util.Collections;
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 Accordion extends WebsiteWidgetBrowser {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
WebsiteWidgetBrowser.setUpBeforeClass();
selectTab("Accordion");
}
protected String getActivePageText(WebElement tabs) {
List<WebElement> pages = tabs.findElements(By.xpath("descendant::li[contains(@class, 'qx-tabs-page')]"));
Iterator<WebElement> itr = pages.iterator();
while (itr.hasNext()) {
WebElement page = itr.next();
if (page.isDisplayed()) {
return page.findElement(By.xpath("h3")).getText();
}
}
return null;
}
@Test
public void accordion() throws InterruptedException {
WebElement tabs = webDriver.findElement(By.id("accordion-default"));
List<WebElement> tabButtons = tabs.findElements(By.xpath("descendant::li[contains(@class, 'qx-tabs-button')]/button"));
Collections.reverse(tabButtons);
Iterator<WebElement> itr = tabButtons.iterator();
while (itr.hasNext()) {
WebElement tabButton = itr.next();
String buttonText = tabButton.getText();
tabButton.click();
Thread.sleep(1000);
String activePageText = getActivePageText(tabs);
Assert.assertTrue(activePageText.startsWith(buttonText));
}
}
}