package de.asideas.crowdsource.testsupport.selenium; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import java.util.Arrays; import java.util.List; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsNot.not; public class ElementUtils { public static int parseCurrency(WebElement element) { String value = element.getText().replaceAll("€", "").trim(); return parseNumber(value); } public static int parseNumber(String value) { value = value.replaceAll("\\.", "").trim(); return Integer.parseInt(value); } public static boolean hasClass(WebElement webElement, String cssClass) { String[] classes = webElement.getAttribute("class").split(" "); return Arrays.asList(classes).contains(cssClass); } public static WebElement expectAndGetFirst(WebDriver webDriver, boolean exists, By selector) { List<WebElement> element = webDriver.findElements(selector); assertThat(element, hasSize(exists ? 1 : 0)); return exists ? element.get(0) : null; } public static List<WebElement> expectAndGetAll(WebDriver webDriver, By selector) { List<WebElement> element = webDriver.findElements(selector); assertThat(element, is(not(empty()))); return element; } }