1 package vid.automation.test.infra;
3 import static org.onap.sdc.ci.tests.utilities.GeneralUIUtils.getDriver;
6 import org.junit.Assert;
7 import org.onap.sdc.ci.tests.utilities.GeneralUIUtils;
8 import org.openqa.selenium.Alert;
9 import org.openqa.selenium.WebElement;
10 import org.openqa.selenium.support.ui.ExpectedConditions;
11 import org.openqa.selenium.support.ui.Select;
12 import org.openqa.selenium.support.ui.WebDriverWait;
15 public static void byText(String text) {
16 WebElement element = GeneralUIUtils.findByText(text);
17 Assert.assertTrue(element != null);
19 clickWhenClickable(element);
22 public static void byId(String id) {
23 WebElement element = Get.byId(id);
24 Assert.assertTrue(element != null);
26 clickWhenClickable(element);
29 public static void byTestId(String testId) {
30 WebElement element = Get.byTestId(testId);
31 Assert.assertTrue(element != null);
32 clickWhenClickable(element);
35 public static void byTestIdOnceItsAvailable(String testId, int timeout) {
36 GeneralUIUtils.clickElementUsingActions(
37 Get.byXpath("//*[@data-tests-id='" + testId + "']", timeout));
40 public static void byClass(String className) {
41 List<WebElement> elements = Get.byClass(className);
42 Assert.assertTrue(elements != null && elements.size() > 0);
44 clickWhenClickable(elements.get(0));
47 public static void byXpath(String xpath) {
48 WebElement element = Get.byXpath(xpath);
49 Assert.assertNotNull(element);
50 clickWhenClickable(element);
54 public static void onFirstSelectOptionById(String id) {
55 Select selectlist = new Select(Get.byId(id));
56 if(selectlist.getOptions().size() > 1) {
57 selectlist.selectByIndex(1);
61 public static void onFirstSelectOptionByTestId(String dataTestId) {
62 Select selectList = new Select(Get.byTestId(dataTestId));
63 if(selectList.getOptions().size() > 1) {
64 selectList.selectByIndex(1);
68 public static void onFirstSelectOptionByClass(String className) {
69 final List<WebElement> webElements = Get.byClass(className);
70 webElements.forEach(webElement -> {
71 Select selectlist = new Select(webElement);
72 if (selectlist.getOptions().size() > 1) {
73 selectlist.selectByIndex(1);
78 public static void byClassAndVisibleText(String className, String text ) {
79 WebElement element = Get.byClassAndText(className, text);
80 clickWhenClickable(element);
85 public static void acceptAlert() {
86 Alert alert = GeneralUIUtils.getDriver().switchTo().alert();
87 Assert.assertTrue(alert != null);
91 private static void clickWhenClickable(WebElement element) {
92 new WebDriverWait(getDriver(), 1)
93 .until(ExpectedConditions.elementToBeClickable(element))