diff --git a/smp-ui-tests/pom.xml b/smp-ui-tests/pom.xml index a4fb20c3e49ea18e52b967a527395bb508fd9bce..d536dc6aa01d2b575a1efdc8e2168b130c720474 100644 --- a/smp-ui-tests/pom.xml +++ b/smp-ui-tests/pom.xml @@ -79,7 +79,7 @@ <webdriver.chrome.driver>${chrome.driver.path}</webdriver.chrome.driver> <webdriver.gecko.driver>chromedriver.exe</webdriver.gecko.driver> <reports.folder>./target/</reports.folder> - <data.folder>.\src\main\resources\</data.folder> + <data.folder>./src/main/resources/</data.folder> <testdata.file>testData.json</testdata.file> <LONG_TIMEOUT>30</LONG_TIMEOUT> <SHORT_TIMEOUT>5</SHORT_TIMEOUT> diff --git a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java b/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java index 909709e0cdf23ceff53e5fe804d5c75101efeb46..9beac7659e951fbe3a77fad4e21de63c993c5403 100644 --- a/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java +++ b/smp-ui-tests/src/main/java/pages/components/baseComponents/PageComponent.java @@ -17,7 +17,7 @@ public class PageComponent { protected WebDriver driver; protected WebDriverWait wait; protected Logger log = Logger.getLogger(this.getClass()); - protected By loadingBar = By.className("mat-ripple-element"); + protected By loadingBar = By.cssSelector(".container .bar"); public PageComponent(WebDriver driver) { @@ -41,8 +41,8 @@ public class PageComponent { int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; int waitedSoFar = 0; while ((null != element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 300; - waitForXMillis(300); + waitedSoFar += 100; + waitForXMillis(100); } } @@ -50,63 +50,26 @@ public class PageComponent { int maxTimeout = PROPERTIES.SHORT_UI_TIMEOUT * 1000; int waitedSoFar = 0; while ((null == element.getAttribute("disabled")) && (waitedSoFar < maxTimeout)) { - waitedSoFar += 300; - waitForXMillis(300); + waitedSoFar += 100; + waitForXMillis(100); } } public void waitForElementToBeGone(WebElement element) { - WebDriverWait myWait = new WebDriverWait(driver, 1); - - try { - myWait.until(ExpectedConditions.visibilityOf(element)); - myWait.until(ExpectedConditions.invisibilityOf(element)); - } catch (Exception e) { - return; - } - - int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - while (waitTime > 0) { - - try { - if (!element.isDisplayed()) { - return; - } - } catch (Exception e) { - return; - } - waitForXMillis(500); - waitTime = waitTime - 500; - } +// int maxTimeout = 1000; +// int waitedSoFar = 0; +// +// try { +// while ((null != element.getText()) && (waitedSoFar < maxTimeout)) { +// waitedSoFar += 100; +// waitForXMillis(100); +// } +// } catch (Exception e) { +// return; +// } + waitForXMillis(500); } - public void waitForElementToBeGone(By locator) { - WebDriverWait myWait = new WebDriverWait(driver, PROPERTIES.SHORT_UI_TIMEOUT); - - try { - myWait.until(ExpectedConditions.visibilityOfElementLocated(locator)); - } catch (Exception e) { - return; - } - - int waitTime = PROPERTIES.SHORT_UI_TIMEOUT * 1000; - while (waitTime > 0) { - boolean displayed = true; - - try { - displayed = driver.findElement(locator).isDisplayed(); - } catch (Exception e) { - return; - } - - if (!displayed) { - return; - } - - waitForXMillis(500); - waitTime = waitTime - 500; - } - } public void waitForNumberOfWindowsToBe(int noOfWindows) { try { @@ -163,12 +126,13 @@ public class PageComponent { public void waitForElementToBe(WebElement element) { - wait.until(new ExpectedCondition<Boolean>() { - @Override - public Boolean apply(WebDriver driver) { - return element.getLocation() != null; - } - }); + wait.until(ExpectedConditions.visibilityOf(element)); +// wait.until(new ExpectedCondition<Boolean>() { +// @Override +// public Boolean apply(WebDriver driver) { +// return element.getLocation() != null; +// } +// }); } @@ -221,12 +185,23 @@ public class PageComponent { } public void waitForRowsToLoad() { + log.info("waiting for rows to load"); try { - waitForElementToBeGone(loadingBar); + waitForXMillis(100); + int bars = 1; + int waits = 0; + while (bars > 0 && waits < 30) { + Object tmp = ((JavascriptExecutor) driver).executeScript("return document.querySelectorAll('.container .bar').length;"); + bars = Integer.valueOf(tmp.toString()); + waits++; + waitForXMillis(200); + } + log.debug("waited for rows to load for ms = 200*" + waits); + waitForXMillis(200); } catch (Exception e) { } - waitForXMillis(500); + } diff --git a/smp-ui-tests/src/main/java/utils/DriverManager.java b/smp-ui-tests/src/main/java/utils/DriverManager.java index 07371e6ebe39a9566f50a612d289322e0be3cef1..e16a0469e905b50cd0a9bbf3fc25fe4a6afe2965 100644 --- a/smp-ui-tests/src/main/java/utils/DriverManager.java +++ b/smp-ui-tests/src/main/java/utils/DriverManager.java @@ -2,6 +2,7 @@ package utils; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; import java.util.concurrent.TimeUnit; @@ -21,15 +22,24 @@ public class DriverManager { // } public static WebDriver getDriver() { - WebDriver driver = new ChromeDriver(); - driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS); - driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS); - driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); + ChromeOptions options = new ChromeOptions(); + options.setHeadless(Boolean.valueOf(PROPERTIES.HEADLESS)); + options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems + options.addArguments("--no-sandbox"); // Bypass OS security model + + options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems + options.addArguments("--window-size=1920,1080"); + + + WebDriver driver = new ChromeDriver(options); + driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS); driver.manage().window().maximize(); - return driver; - } + return driver; + } + + } diff --git a/smp-ui-tests/src/main/java/utils/PROPERTIES.java b/smp-ui-tests/src/main/java/utils/PROPERTIES.java index 99ca0cd44bc2c9d46823bf37b9042d1df5095fcc..678a7a40a88261d935b8401a814907720f72e0e0 100644 --- a/smp-ui-tests/src/main/java/utils/PROPERTIES.java +++ b/smp-ui-tests/src/main/java/utils/PROPERTIES.java @@ -6,7 +6,9 @@ public class PROPERTIES { public static final String UI_BASE_URL = System.getProperty("UI_BASE_URL"); public static final int SHORT_UI_TIMEOUT = 5; public static final int TIMEOUT = Integer.valueOf(System.getProperty("SHORT_TIMEOUT")); - public static final int LONG_WAIT = Integer.valueOf(System.getProperty("LONG_TIMEOUT")); + + public static final String StringHEADLESS = System.getProperty("HEADLESS"); + public static final String HEADLESS = "false"; public static final String REPORTS_FOLDER = System.getProperty("reports.folder"); public static final String TESTDATAFILE = System.getProperty("data.folder") + System.getProperty("testdata.file"); diff --git a/smp-ui-tests/src/main/java/utils/TestDataProvider.java b/smp-ui-tests/src/main/java/utils/TestDataProvider.java index 3b567c1d8371f497efaa2bc48b0f023d9da81690..71a232cab45887f8bb2bbe8882b66471599ff2ce 100644 --- a/smp-ui-tests/src/main/java/utils/TestDataProvider.java +++ b/smp-ui-tests/src/main/java/utils/TestDataProvider.java @@ -20,7 +20,7 @@ public class TestDataProvider { content = new String(Files.readAllBytes(Paths.get(PROPERTIES.TESTDATAFILE))); testData = new JSONObject(content); } catch (Exception e) { - e.printStackTrace(); + throw new RuntimeException("Error reading test data file: " + PROPERTIES.TESTDATAFILE); } } diff --git a/smp-ui-tests/src/test/java/ui/BaseTest.java b/smp-ui-tests/src/test/java/ui/BaseTest.java index 701012ff3bb609db7e71079253e10640308d43d8..128a61900748a7209670d951db41f9dc75db6f4f 100644 --- a/smp-ui-tests/src/test/java/ui/BaseTest.java +++ b/smp-ui-tests/src/test/java/ui/BaseTest.java @@ -31,8 +31,6 @@ public class BaseTest { protected Logger logger = Logger.getLogger(this.getClass()); @BeforeSuite(alwaysRun = true) - /*Starts the browser and navigates to the homepage. This happens once before the test - suite and the browser window is reused for all tests in suite*/ public void beforeSuite() { logger.info("Creating necessary data !!!!"); createDomains(); @@ -42,7 +40,7 @@ public class BaseTest { @AfterSuite(alwaysRun = true) - /*After the test suite is done we close the browser*/ + /*After the test suite is done, we close the browser*/ public void afterSuite() { logger.info("Deleting created data!!!"); diff --git a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java index 36c72ef26f622c1c54d5fb8621d7abe13521573d..412a91538d3deb370c868145eede56b9d0548444 100644 --- a/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java +++ b/smp-ui-tests/src/test/java/ui/PropertiesPgTest.java @@ -38,7 +38,7 @@ public class PropertiesPgTest extends BaseTest{ } /*@Test(description = "PROP-0")*/ - @Test(enabled = false) + @Test(description = "PROP-0", enabled = false) public void verifyParticipantschemeMandatoryProperty(){ SoftAssert soft = new SoftAssert(); @@ -48,7 +48,7 @@ public class PropertiesPgTest extends BaseTest{ propertiesPage.propertySearch(property); soft.assertTrue(propertiesPage.grid().rowContainPropertyName(property),"The row does not contain the searching property"); PropertyRowInfo newRow0 = propertiesPage.grid().getRows().get(0); - System.out.println("newRow0.getPropertyvalue() "+newRow0.getPropertyvalue()); + if(newRow0.getPropertyvalue().equals("true")) { propertiesPage.grid().selectRow(0);