Merge from ecomp 718fd196 - Integration Tests
[vid.git] / vid-automation / src / main / java / vid / automation / test / infra / Click.java
1 package vid.automation.test.infra;
2
3 import static org.onap.sdc.ci.tests.utilities.GeneralUIUtils.getDriver;
4
5 import java.util.List;
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;
13
14 public class Click {
15     public static void byText(String text) {
16         WebElement element = GeneralUIUtils.findByText(text);
17         Assert.assertTrue(element != null);
18
19         clickWhenClickable(element);
20     }
21
22     public static void byId(String id) {
23         WebElement element = Get.byId(id);
24         Assert.assertTrue(element != null);
25
26         clickWhenClickable(element);
27     }
28
29     public static void byTestId(String testId) {
30         WebElement element = Get.byTestId(testId);
31         Assert.assertTrue(element != null);
32         clickWhenClickable(element);
33     }
34
35     public static void byTestIdOnceItsAvailable(String testId, int timeout) {
36         GeneralUIUtils.clickElementUsingActions(
37             Get.byXpath("//*[@data-tests-id='" + testId + "']", timeout));
38     }
39
40     public static void byClass(String className) {
41         List<WebElement> elements = Get.byClass(className);
42         Assert.assertTrue(elements != null && elements.size() > 0);
43
44         clickWhenClickable(elements.get(0));
45     }
46
47     public static void byXpath(String xpath) {
48         WebElement element = Get.byXpath(xpath);
49         Assert.assertNotNull(element);
50         clickWhenClickable(element);
51     }
52
53
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);
58         }
59     }
60
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);
65         }
66     }
67
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);
74             }
75         });
76     }
77
78     public static void byClassAndVisibleText(String className, String text ) {
79         WebElement element = Get.byClassAndText(className, text);
80         clickWhenClickable(element);
81     }
82
83
84
85     public static void acceptAlert() {
86         Alert alert = GeneralUIUtils.getDriver().switchTo().alert();
87         Assert.assertTrue(alert != null);
88         alert.accept();
89     }
90
91     private static void clickWhenClickable(WebElement element) {
92         new WebDriverWait(getDriver(), 1)
93                 .until(ExpectedConditions.elementToBeClickable(element))
94                 .click();
95     }
96
97 }