Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

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

Merge pull request #162 in EDELIVERY/smp from selStabilityImprovement to development

* commit '4a9d1a33882ce26c4b14a59469cdce2f83e60040':
  minor stability improvements
parents 78f6923c 604a1e67
No related branches found
No related tags found
No related merge requests found
......@@ -190,5 +190,28 @@ public class PageComponent {
return true;
}
protected By loadingBar = By.className("mat-ripple-element");
public void waitForRowsToLoad() {
log.info("waiting for rows to load");
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);
} catch (Exception e) { }
waitForXMillis(500);
}
}
......@@ -31,8 +31,6 @@ public class BasicGrid extends PageComponent {
}
private By loadingBar = By.className("mat-ripple-element");
private void waitToLoad(){
try {
waitForXMillis(500);
......@@ -42,22 +40,7 @@ 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);
} catch (Exception e) { }
waitForXMillis(500);
}
@FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell")
protected List<WebElement> gridHeaders;
......@@ -72,6 +55,7 @@ public class BasicGrid extends PageComponent {
log.info("selecting row with number ... " + rowNumber);
if(rowNumber>=gridRows.size()){return;}
gridRows.get(rowNumber).click();
waitForXMillis(500);
}
public void doubleClickRow(int rowNumber){
......
......@@ -18,6 +18,8 @@ public class ServiceGroupGrid extends PageComponent {
public ServiceGroupGrid(WebDriver driver, WebElement container) {
super(driver);
PageFactory.initElements( new AjaxElementLocatorFactory(container, PROPERTIES.TIMEOUT) , this);
waitForRowsToLoad();
}
@FindBy(className = "datatable-header-cell-label")
......
......@@ -11,26 +11,28 @@ import pages.service_groups.FilterArea;
import utils.PROPERTIES;
public class SearchPage extends SMPPage {
public SearchPage(WebDriver driver) {
super(driver);
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
this.pageHeader.waitForTitleToBe("Search");
serviceGroupGrid = new ServiceGroupGrid(driver, searchGridContainer);
}
public FilterArea filters = new FilterArea(driver);
@FindBy(id = "searchTable")
WebElement searchGridContainer;
public ServiceGroupGrid serviceGroupGrid;
public boolean isLoaded() {
log.info("checking if search page is loaded");
if(!filters.isLoaded()){ return false;}
return serviceGroupGrid.isLoaded();
return getServiceGroupGrid().isLoaded();
}
public ServiceGroupGrid getServiceGroupGrid() {
return new ServiceGroupGrid(driver, searchGridContainer);
}
}
......@@ -83,6 +83,7 @@ public class UsersPage extends SMPPage {
public void clickDelete(){
log.info("click delete button");
waitForElementToBeClickable(deleteBtn).click();
waitForRowsToLoad();
}
public UserPopup clickNew(){
log.info("click new button");
......
......@@ -45,6 +45,7 @@ public class DomainPgTest extends BaseTest {
logger.info("Going to Domain page");
page.sidebar.goToPage(DomainPage.class);
page.waitForRowsToLoad();
}
@Test(description = "DMN-0")
......
......@@ -73,7 +73,7 @@ public class SearchPgTest extends BaseTest {
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
List<String> headers = page.serviceGroupGrid.getHeaders();
List<String> headers = page.getServiceGroupGrid().getHeaders();
soft.assertTrue(headers.contains("Participant identifier"));
soft.assertTrue(headers.contains("Participant scheme"));
soft.assertTrue(headers.contains("OASIS ServiceGroup URL"));
......@@ -89,14 +89,14 @@ public class SearchPgTest extends BaseTest {
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
ServiceGroupRow row0 = page.serviceGroupGrid.getRows().get(0);
ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
String pScheme = row0.getParticipantScheme();
String pIdentifier = row0.getParticipantIdentifier();
// looking for exact match
page.filters.filter(pIdentifier, pScheme, "");
List<ServiceGroupRow> rows = page.serviceGroupGrid.getRows();
List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
for (ServiceGroupRow row : rows) {
soft.assertTrue(row.getParticipantIdentifier().contains(pIdentifier));
......@@ -105,7 +105,7 @@ public class SearchPgTest extends BaseTest {
// Search for substring
page.filters.filter(pIdentifier.substring(2), pScheme.substring(2), "");
rows = page.serviceGroupGrid.getRows();
rows = page.getServiceGroupGrid().getRows();
for (ServiceGroupRow row : rows) {
......@@ -126,7 +126,7 @@ public class SearchPgTest extends BaseTest {
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
ServiceGroupRow row0 = page.serviceGroupGrid.getRows().get(0);
ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
String listedURL = row0.getServiceGroupURL();
String pScheme = row0.getParticipantScheme();
String pIdentifier = row0.getParticipantIdentifier();
......@@ -158,7 +158,7 @@ public class SearchPgTest extends BaseTest {
SearchPage page = new SearchPage(driver);
soft.assertTrue(page.isLoaded());
ServiceGroupRow row0 = page.serviceGroupGrid.getRows().get(0);
ServiceGroupRow row0 = page.getServiceGroupGrid().getRows().get(0);
String listedURL = row0.getServiceGroupURL();
String pScheme = row0.getParticipantScheme();
String pIdentifier = row0.getParticipantIdentifier();
......@@ -201,7 +201,7 @@ public class SearchPgTest extends BaseTest {
soft.assertTrue(page.isLoaded());
ServiceGroupRow row0 = null;
List<ServiceGroupRow> rows = page.serviceGroupGrid.getRows();
List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
for (int i = 0; i < rows.size(); i++) {
if(rows.get(i).getMetadataSize() >0 ){
row0 = rows.get(i);
......@@ -213,7 +213,7 @@ public class SearchPgTest extends BaseTest {
SMPRestClient.createMetadata(row0.getParticipantIdentifier());
page.refreshPage();
logger.info("Created Metadata for row 0");
row0 = page.serviceGroupGrid.getRows().get(0);
row0 = page.getServiceGroupGrid().getRows().get(0);
}
......@@ -238,7 +238,7 @@ public class SearchPgTest extends BaseTest {
soft.assertTrue(page.isLoaded());
ServiceGroupRow row0 = null;
List<ServiceGroupRow> rows = page.serviceGroupGrid.getRows();
List<ServiceGroupRow> rows = page.getServiceGroupGrid().getRows();
for (int i = 0; i < rows.size(); i++) {
if(rows.get(i).getMetadataSize() >0 ){
row0 = rows.get(i);
......@@ -250,7 +250,7 @@ public class SearchPgTest extends BaseTest {
SMPRestClient.createMetadata(row0.getParticipantIdentifier());
page.refreshPage();
logger.info("Created Metadata for row 0");
row0 = page.serviceGroupGrid.getRows().get(0);
row0 = page.getServiceGroupGrid().getRows().get(0);
}
String listedURL = row0.getServiceGroupURL();
......@@ -314,7 +314,7 @@ public class SearchPgTest extends BaseTest {
searchPage.refreshPage();
searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(0)));
List<ServiceGroupRow> results = searchPage.serviceGroupGrid.getRows();
List<ServiceGroupRow> results = searchPage.getServiceGroupGrid().getRows();
soft.assertEquals(results.size() , 1, "Results size is 1 (first search)");
soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(),
......@@ -322,7 +322,7 @@ public class SearchPgTest extends BaseTest {
searchPage.filters.filter(participantID, participantScheme, SMPRestClient.getDomainSubDomainCombo(createdDomains.get(1)));
results = searchPage.serviceGroupGrid.getRows();
results = searchPage.getServiceGroupGrid().getRows();
soft.assertEquals(results.size(), 1, "Results size is 1 (second search)");
soft.assertEquals(results.get(0).getParticipantIdentifier().toLowerCase(), participantID.toLowerCase(),
......
package ui;
import org.openqa.selenium.JavascriptExecutor;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
......@@ -24,6 +25,10 @@ public class UsersPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset() {
driver.manage().deleteAllCookies();
((JavascriptExecutor) driver).executeScript("localStorage.clear();");
SMPPage page = new SMPPage(driver);
page.refreshPage();
......@@ -51,6 +56,7 @@ public class UsersPgTest extends BaseTest {
logger.info("Going to Users page");
page.sidebar.goToPage(UsersPage.class);
page.waitForRowsToLoad();
}
@Test(description = "USR-10")
......@@ -335,6 +341,8 @@ public class UsersPgTest extends BaseTest {
UsersPage page = new UsersPage(driver);
page.refreshPage();
page.waitForRowsToLoad();
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled");
int index = scrollToUser(username);
......@@ -342,20 +350,25 @@ public class UsersPgTest extends BaseTest {
soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select");
page.clickDelete();
page.waitForRowsToLoad();
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted");
soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted");
page.clickCancel().confirm();
new ConfirmationDialog(driver).confirm();
page.waitForRowsToLoad();
soft.assertTrue(isUserListed(username), "After canceling delete user is still listed");
index = scrollToUser(username);
page.grid().selectRow(index);
soft.assertTrue(page.isDeleteButtonEnabled(), "Delete button is enabled after row select(2)");
page.clickDelete();
page.waitForRowsToLoad();
soft.assertTrue(!page.isDeleteButtonEnabled(), "Delete button is not enabled after user is deleted(2)");
soft.assertTrue(page.isSaveButtonEnabled(), "Save button is enabled after user is deleted(2)");
soft.assertTrue(page.isCancelButtonEnabled(), "Cancel button is enabled after user is deleted(2)");
......
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