Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 6d0be10e authored by Joze RIHTARSIC's avatar Joze RIHTARSIC
Browse files

Merge pull request #158 in EDELIVERY/smp from selImprov to development

* commit 'c6529268bc9542ddf6777977d76464617399371c':
  minor improvements
parents c4b03282 bd2d0465
No related branches found
No related tags found
No related merge requests found
...@@ -5,6 +5,7 @@ import org.openqa.selenium.WebElement; ...@@ -5,6 +5,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory; import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
import pages.components.baseComponents.Header;
import pages.components.baseComponents.SMPPage; import pages.components.baseComponents.SMPPage;
import pages.components.baseComponents.PageComponent; import pages.components.baseComponents.PageComponent;
import utils.PROPERTIES; import utils.PROPERTIES;
...@@ -58,6 +59,7 @@ public class Sidebar extends PageComponent { ...@@ -58,6 +59,7 @@ public class Sidebar extends PageComponent {
} }
waitForXMillis(500); waitForXMillis(500);
new Header(driver).waitForTitleToBe();
return PageFactory.initElements(driver, expect); return PageFactory.initElements(driver, expect);
} }
......
...@@ -41,4 +41,9 @@ public class Header extends PageComponent{ ...@@ -41,4 +41,9 @@ public class Header extends PageComponent{
webDriverWait.until(ExpectedConditions.textToBePresentInElement(pageTitle, title)); webDriverWait.until(ExpectedConditions.textToBePresentInElement(pageTitle, title));
} }
public void waitForTitleToBe(){
waitForXMillis(500);
waitForElementToBeVisible(pageTitle);
}
} }
...@@ -41,6 +41,10 @@ public class PageComponent { ...@@ -41,6 +41,10 @@ public class PageComponent {
return webDriverWait.until(ExpectedConditions.visibilityOf(element)); return webDriverWait.until(ExpectedConditions.visibilityOf(element));
} }
public WebElement waitForElementToBeVisible(By elementSelector) {
return webDriverWait.until(ExpectedConditions.visibilityOfElementLocated(elementSelector));
}
public void waitForElementToBeEnabled(WebElement element) { public void waitForElementToBeEnabled(WebElement element) {
int maxTimeout = PROPERTIES.TIMEOUT * 1000; int maxTimeout = PROPERTIES.TIMEOUT * 1000;
int waitedSoFar = 0; int waitedSoFar = 0;
......
package pages.components.grid; package pages.components.grid;
import org.openqa.selenium.By; import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.interactions.Actions;
...@@ -21,6 +22,7 @@ public class BasicGrid extends PageComponent { ...@@ -21,6 +22,7 @@ public class BasicGrid extends PageComponent {
log.info("Loading basic grid"); log.info("Loading basic grid");
waitToLoad(); waitToLoad();
waitForRowsToLoad();
PageFactory.initElements( new DefaultElementLocatorFactory(container) , this); PageFactory.initElements( new DefaultElementLocatorFactory(container) , this);
for (int i = 0; i < gridHeaders.size(); i++) { for (int i = 0; i < gridHeaders.size(); i++) {
...@@ -40,6 +42,23 @@ public class BasicGrid extends PageComponent { ...@@ -40,6 +42,23 @@ public class BasicGrid extends PageComponent {
} }
} }
public void waitForRowsToLoad() {
try {
waitForElementToBeVisible(loadingBar);
int bars = 1;
int waits = 0;
while (bars > 0 && waits < 30) {
Object tmp = ((JavascriptExecutor) driver).executeScript("return document.querySelectorAll('.mat-ripple-element').length;");
bars = Integer.valueOf(tmp.toString());
waits++;
waitForXMillis(500);
}
log.debug("waited for rows to load for ms = 500*" + waits);
waitForXMillis(500);
} catch (Exception e) { }
}
@FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell") @FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell")
protected List<WebElement> gridHeaders; protected List<WebElement> gridHeaders;
......
...@@ -63,9 +63,6 @@ public class FilterArea extends PageComponent { ...@@ -63,9 +63,6 @@ public class FilterArea extends PageComponent {
} }
searchButton.click(); searchButton.click();
// TODO - wait for loading bar to disappear
waitForXMillis(1000);
} }
......
...@@ -147,6 +147,7 @@ public class ServiceGroupPopup extends PageComponent { ...@@ -147,6 +147,7 @@ public class ServiceGroupPopup extends PageComponent {
public void enterDataInExtensionTextArea(String text){ public void enterDataInExtensionTextArea(String text){
waitForElementToBeVisible(extensionTextArea).clear(); waitForElementToBeVisible(extensionTextArea).clear();
extensionTextArea.sendKeys(text); extensionTextArea.sendKeys(text);
waitForXMillis(1000);
} }
public void fillParticipantIdentifier(String participantIdentifier){ public void fillParticipantIdentifier(String participantIdentifier){
......
...@@ -5,6 +5,7 @@ import org.openqa.selenium.firefox.FirefoxDriver; ...@@ -5,6 +5,7 @@ import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxDriverLogLevel; import org.openqa.selenium.firefox.FirefoxDriverLogLevel;
import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.firefox.FirefoxOptions;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level; import java.util.logging.Level;
public class DriverManager { public class DriverManager {
...@@ -24,11 +25,15 @@ public class DriverManager { ...@@ -24,11 +25,15 @@ public class DriverManager {
public static WebDriver getDriver(){ public static WebDriver getDriver(){
System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"true"); System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE,"true");
System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"C:\\temp\\logs.txt"); // System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE,"C:\\temp\\logs.txt");
WebDriver driver = new FirefoxDriver(); WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
driver.manage().timeouts().setScriptTimeout(2, TimeUnit.SECONDS);
driver.manage().window().maximize(); driver.manage().window().maximize();
return driver; return driver;
......
...@@ -9,6 +9,7 @@ import utils.Generator; ...@@ -9,6 +9,7 @@ import utils.Generator;
import utils.PROPERTIES; import utils.PROPERTIES;
import utils.TestDataProvider; import utils.TestDataProvider;
import utils.customReporter.ExcelTestReporter; import utils.customReporter.ExcelTestReporter;
import utils.customReporter.TestProgressReporter;
import utils.rest.SMPRestClient; import utils.rest.SMPRestClient;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -16,7 +17,7 @@ import java.util.Arrays; ...@@ -16,7 +17,7 @@ import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@Listeners(ExcelTestReporter.class) @Listeners({ExcelTestReporter.class, TestProgressReporter.class})
public class BaseTest { public class BaseTest {
static WebDriver driver; static WebDriver driver;
......
...@@ -18,14 +18,14 @@ import utils.rest.SMPRestClient; ...@@ -18,14 +18,14 @@ import utils.rest.SMPRestClient;
import java.util.List; import java.util.List;
@SuppressWarnings("SpellCheckingInspection") @SuppressWarnings("SpellCheckingInspection")
public class EditPgTest extends BaseTest{ public class EditPgTest extends BaseTest {
@AfterMethod @AfterMethod
public void logoutAndReset(){ public void logoutAndReset() {
SMPPage page = new SMPPage(driver); SMPPage page = new SMPPage(driver);
page.refreshPage(); page.refreshPage();
if(page.pageHeader.sandwichMenu.isLoggedIn()){ if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!"); logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout(); page.pageHeader.sandwichMenu.logout();
} }
...@@ -34,16 +34,16 @@ public class EditPgTest extends BaseTest{ ...@@ -34,16 +34,16 @@ public class EditPgTest extends BaseTest{
@BeforeMethod @BeforeMethod
public void loginAndGoToEditPage(){ public void loginAndGoToEditPage() {
SMPPage page = new SMPPage(driver); SMPPage page = new SMPPage(driver);
if(page.pageHeader.sandwichMenu.isLoggedIn()){ if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!"); logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout(); page.pageHeader.sandwichMenu.logout();
} }
if(!page.pageHeader.sandwichMenu.isLoggedIn()){ if (!page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Login!!"); logger.info("Login!!");
page.pageHeader.goToLogin().login("SMP_ADMIN"); page.pageHeader.goToLogin().login("SMP_ADMIN");
} }
...@@ -54,7 +54,7 @@ public class EditPgTest extends BaseTest{ ...@@ -54,7 +54,7 @@ public class EditPgTest extends BaseTest{
@Test(description = "EDT-10") @Test(description = "EDT-10")
public void testFilters(){ public void testFilters() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -82,8 +82,8 @@ public class EditPgTest extends BaseTest{ ...@@ -82,8 +82,8 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-20") @Test(description = "EDT-20")
public void doubleclickRow(){ public void doubleclickRow() {
String extensionData = "<Extension xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\"><ExtensionID>df</ExtensionID><ExtensionName>sdxf</ExtensionName><!-- Custom element is mandatory by OASIS SMP schema. Replace following element with your XML structure. --><ext:example xmlns:ext=\"http://my.namespace.eu\">my mandatory content</ext:example></Extension>"; String extensionData = "<Extension xmlns=\"http://docs.oasis-open.org/bdxr/ns/SMP/2016/05\"><ExtensionID>df</ExtensionID><ExtensionName>sdxf</ExtensionName><!-- Custom element is mandatory by OASIS SMP schema. Replace following element with your XML structure. --><ext:example xmlns:ext=\"http://my.namespace.eu\">" + Generator.randomAlphaNumeric(10) + "</ext:example></Extension>";
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
...@@ -130,7 +130,7 @@ public class EditPgTest extends BaseTest{ ...@@ -130,7 +130,7 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-30") @Test(description = "EDT-30")
public void editActionButtonOnRow(){ public void editActionButtonOnRow() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -148,7 +148,7 @@ public class EditPgTest extends BaseTest{ ...@@ -148,7 +148,7 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-40") @Test(description = "EDT-40")
public void editButtonOnPage(){ public void editButtonOnPage() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -173,7 +173,7 @@ public class EditPgTest extends BaseTest{ ...@@ -173,7 +173,7 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-50") @Test(description = "EDT-50")
public void serviceGroupPopupUICheck(){ public void serviceGroupPopupUICheck() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -198,7 +198,7 @@ public class EditPgTest extends BaseTest{ ...@@ -198,7 +198,7 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-60") @Test(description = "EDT-60")
public void newMetadataIcon(){ public void newMetadataIcon() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -221,7 +221,7 @@ public class EditPgTest extends BaseTest{ ...@@ -221,7 +221,7 @@ public class EditPgTest extends BaseTest{
// Cannot identify the cause of failure so move on and hope for the best // Cannot identify the cause of failure so move on and hope for the best
@Test(description = "EDT-70") @Test(description = "EDT-70")
public void noSYSADMINOwners(){ public void noSYSADMINOwners() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -242,7 +242,7 @@ public class EditPgTest extends BaseTest{ ...@@ -242,7 +242,7 @@ public class EditPgTest extends BaseTest{
for (String sysadmin : sysadmins) { for (String sysadmin : sysadmins) {
logger.info("Checking sysadmin " + sysadmin); logger.info("Checking sysadmin " + sysadmin);
for (String listedOption : listedOptions) { for (String listedOption : listedOptions) {
if(listedOption.equalsIgnoreCase(sysadmin)){ if (listedOption.equalsIgnoreCase(sysadmin)) {
soft.fail("Found sysadmin between options for SG owners - " + sysadmin); soft.fail("Found sysadmin between options for SG owners - " + sysadmin);
} }
} }
...@@ -252,13 +252,13 @@ public class EditPgTest extends BaseTest{ ...@@ -252,13 +252,13 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-80") @Test(description = "EDT-80")
public void allDomainsInDomainsAccordionSection(){ public void allDomainsInDomainsAccordionSection() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
ServiceGroupGrid grid = page.getGrid(); ServiceGroupGrid grid = page.getGrid();
Integer index = 0 ; Integer index = 0;
ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index); ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index);
grid.doubleClickRow(index); grid.doubleClickRow(index);
...@@ -273,8 +273,8 @@ public class EditPgTest extends BaseTest{ ...@@ -273,8 +273,8 @@ public class EditPgTest extends BaseTest{
boolean found = false; boolean found = false;
logger.info("Checking domain " + domain); logger.info("Checking domain " + domain);
for (String listedOption : listedOptions) { for (String listedOption : listedOptions) {
if(listedOption.equalsIgnoreCase(domain)){ if (listedOption.equalsIgnoreCase(domain)) {
found= true; found = true;
} }
} }
soft.assertTrue(found, "Domain found in options - " + domain); soft.assertTrue(found, "Domain found in options - " + domain);
...@@ -286,7 +286,7 @@ public class EditPgTest extends BaseTest{ ...@@ -286,7 +286,7 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-90") @Test(description = "EDT-90")
public void extensionValidatedOnOK(){ public void extensionValidatedOnOK() {
String identifier = Generator.randomAlphaNumeric(7); String identifier = Generator.randomAlphaNumeric(7);
String tmpSchemeRoot = Generator.randomAlphaNumeric(3).toLowerCase(); String tmpSchemeRoot = Generator.randomAlphaNumeric(3).toLowerCase();
String scheme = String.format("%s-%s-%s", tmpSchemeRoot, tmpSchemeRoot, tmpSchemeRoot); String scheme = String.format("%s-%s-%s", tmpSchemeRoot, tmpSchemeRoot, tmpSchemeRoot);
...@@ -351,7 +351,7 @@ public class EditPgTest extends BaseTest{ ...@@ -351,7 +351,7 @@ public class EditPgTest extends BaseTest{
} }
@Test(description = "EDT-100") @Test(description = "EDT-100")
public void deleteServiceGroup(){ public void deleteServiceGroup() {
SoftAssert soft = new SoftAssert(); SoftAssert soft = new SoftAssert();
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
...@@ -393,7 +393,7 @@ public class EditPgTest extends BaseTest{ ...@@ -393,7 +393,7 @@ public class EditPgTest extends BaseTest{
} }
private int scrollToSG(String pi){ private int scrollToSG(String pi) {
EditPage page = new EditPage(driver); EditPage page = new EditPage(driver);
page.pagination.skipToFirstPage(); page.pagination.skipToFirstPage();
...@@ -403,14 +403,16 @@ public class EditPgTest extends BaseTest{ ...@@ -403,14 +403,16 @@ public class EditPgTest extends BaseTest{
List<ServiceGroupRow> rows = page.getGrid().getRows(); List<ServiceGroupRow> rows = page.getGrid().getRows();
for (int i = 0; i < rows.size(); i++) { for (int i = 0; i < rows.size(); i++) {
if(rows.get(i).getParticipantIdentifier().equalsIgnoreCase(pi)){ if (rows.get(i).getParticipantIdentifier().equalsIgnoreCase(pi)) {
return i; return i;
} }
} }
if(page.pagination.hasNextPage()){ if (page.pagination.hasNextPage()) {
page.pagination.goToNextPage(); page.pagination.goToNextPage();
}else{end = true;} } else {
end = true;
}
} }
return -1; return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment