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 604a1e67 authored by Catalin QA's avatar Catalin QA
Browse files

minor stability improvements

parent 1fa7cd0e
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