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

Skip to content
Snippets Groups Projects
Commit 86e62f59 authored by Catalin QA's avatar Catalin QA
Browse files

bugfixes and improvements

parent 604a1e67
No related branches found
No related tags found
No related merge requests found
......@@ -34,6 +34,7 @@ public class SandwichMenu extends PageComponent {
public boolean isLoggedIn(){
clickVoidSpace();
waitForElementToBeClickable(expandoButton).click();
boolean isLoggedIn = false;
......
......@@ -63,6 +63,8 @@ public class Sidebar extends PageComponent {
new Header(driver).waitForTitleToBe();
waitForRowsToLoad();
return PageFactory.initElements(driver, expect);
}
......
......@@ -80,6 +80,34 @@ public class PageComponent {
}
}
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 {
wait.until(numberOfWindowsToBe(noOfWindows));
......@@ -196,17 +224,18 @@ public class PageComponent {
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);
waitForElementToBeGone(loadingBar);
// 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);
}
......
......@@ -21,7 +21,7 @@ public class BasicGrid extends PageComponent {
super(driver);
log.info("Loading basic grid");
waitToLoad();
// waitToLoad();
waitForRowsToLoad();
PageFactory.initElements( new DefaultElementLocatorFactory(container) , this);
......@@ -31,14 +31,14 @@ public class BasicGrid extends PageComponent {
}
private void waitToLoad(){
try {
waitForXMillis(500);
waitForElementToBeGone(driver.findElement(loadingBar));
} catch (Exception e) {
}
}
// private void waitToLoad(){
// try {
// waitForXMillis(500);
// waitForElementToBeGone(driver.findElement(loadingBar));
// } catch (Exception e) {
//
// }
// }
......
package ui;
import org.apache.log4j.Logger;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.testng.annotations.*;
import pages.components.baseComponents.SMPPage;
......@@ -15,7 +16,6 @@ import utils.rest.SMPRestClient;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@Listeners({ExcelTestReporter.class, TestProgressReporter.class})
......@@ -36,7 +36,7 @@ public class BaseTest {
@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(){
public void beforeSuite() {
logger.info("Creating necessary data !!!!");
createDomains();
createUsers();
......@@ -50,7 +50,7 @@ public class BaseTest {
@AfterSuite(alwaysRun = true)
/*After the test suite is done we close the browser*/
public void afterSuite(){
public void afterSuite() {
logger.info("Deleting created data!!!");
deleteTestData();
......@@ -65,7 +65,7 @@ public class BaseTest {
}
@AfterClass(alwaysRun = true)
public void afterClass(){
public void afterClass() {
driver.quit();
// driver.get(PROPERTIES.UI_BASE_URL);
// SMPPage page = new SMPPage(driver);
......@@ -78,7 +78,7 @@ public class BaseTest {
}
@BeforeClass(alwaysRun = true)
public void beforeClass(){
public void beforeClass() {
driver = DriverManager.getDriver();
driver.get(PROPERTIES.UI_BASE_URL);
}
......@@ -92,48 +92,47 @@ public class BaseTest {
}
private void createDomains(){
private void createDomains() {
for (int i = 0; i < 5; i++) {
String generated = Generator.randomAlphaNumeric(10);
boolean created = SMPRestClient.createDomain(generated);
if(created){
createdDomains.add(generated);}
else{
if (created) {
createdDomains.add(generated);
} else {
logger.warn("Test data creation: Domain creation failed for " + generated);
}
}
}
private void createUsers(){
private void createUsers() {
String[] roles = {"SMP_ADMIN", "SERVICE_GROUP_ADMIN", "SYSTEM_ADMIN"};
for (int i = 0; i < 6; i++) {
String generated = Generator.randomAlphaNumeric(10);
String role = roles[i%roles.length];
String role = roles[i % roles.length];
boolean created = SMPRestClient.createUser(generated, role);
if(created){
createdUsers.add(generated);}
else{
if (created) {
createdUsers.add(generated);
} else {
logger.warn("Test data creation: User creation failed for " + generated);
}
}
}
private void createSGs(){
private void createSGs() {
for (int i = 0; i < 5; i++) {
String generated = Generator.randomAlphaNumeric(10);
List<String> users = Arrays.asList(createdUsers.get(0));
List<String> domains = Arrays.asList(createdDomains.get(0));
boolean created = SMPRestClient.createServiceGroup(generated, generated, users, domains);
if(created){
if (created) {
createdServiceGroups.add(generated);
}
else{
} else {
logger.warn("Test data creation: SG creation failed for " + generated);
}
}
}
private void deleteTestData(){
private void deleteTestData() {
for (String createdServiceGroup : createdServiceGroups) {
try {
SMPRestClient.deleteSG(createdServiceGroup);
......@@ -158,5 +157,41 @@ public class BaseTest {
}
protected void genericLogoutProcedure() {
log.info("executing the generic logout procedure");
SMPPage page = new SMPPage(driver);
page.refreshPage();
try {
if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
} catch (Exception e) {
e.printStackTrace();
}
driver.manage().deleteAllCookies();
((JavascriptExecutor) driver).executeScript("localStorage.clear();");
page.refreshPage();
page.waitForXMillis(100);
}
protected SMPPage genericLoginProcedure(String role) {
SMPPage page = new SMPPage(driver);
genericLogoutProcedure();
if (!page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Login!!");
page.pageHeader.goToLogin().login(role);
}
page.waitForRowsToLoad();
return page;
}
}
......@@ -23,29 +23,17 @@ public class DomainPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset(){
SMPPage page = new SMPPage(driver);
page.refreshPage();
if(page.pageHeader.sandwichMenu.isLoggedIn()){
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
genericLogoutProcedure();
}
@BeforeMethod
public void loginAndGoToDomainPage(){
SMPPage page = new SMPPage(driver);
if(!page.pageHeader.sandwichMenu.isLoggedIn()){
logger.info("Login!!");
page.pageHeader.goToLogin().login("SYS_ADMIN");
}
SMPPage page = genericLoginProcedure("SYS_ADMIN");
logger.info("Going to Domain page");
page.sidebar.goToPage(DomainPage.class);
page.waitForRowsToLoad();
}
@Test(description = "DMN-0")
......
......@@ -22,31 +22,14 @@ public class EditPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset() {
SMPPage page = new SMPPage(driver);
page.refreshPage();
if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
page.waitForXMillis(100);
genericLogoutProcedure();
}
@BeforeMethod
public void loginAndGoToEditPage() {
SMPPage page = new SMPPage(driver);
if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
if (!page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Login!!");
page.pageHeader.goToLogin().login("SMP_ADMIN");
}
SMPPage page = genericLoginProcedure("SMP_ADMIN");
logger.info("Going to Edit page");
page.sidebar.goToPage(EditPage.class);
......
......@@ -20,17 +20,7 @@ public class PrivilegesTests extends BaseTest {
@AfterMethod
public void logoutAndReset(){
SMPPage page = new SMPPage(driver);
page.refreshPage();
try {
if(page.pageHeader.sandwichMenu.isLoggedIn()){
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
} catch (Exception e) {
e.printStackTrace();
}
genericLogoutProcedure();
}
@Test(description = "RGT-0")
......
package ui;
import org.openqa.selenium.JavascriptExecutor;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
......@@ -25,38 +24,17 @@ public class UsersPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset() {
driver.manage().deleteAllCookies();
((JavascriptExecutor) driver).executeScript("localStorage.clear();");
SMPPage page = new SMPPage(driver);
page.refreshPage();
if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
genericLogoutProcedure();
}
@BeforeMethod
public void loginAndGoToUsersPage() {
SMPPage page = new SMPPage(driver);
if (page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
if (!page.pageHeader.sandwichMenu.isLoggedIn()) {
logger.info("Login!!");
page.pageHeader.goToLogin().login("SYS_ADMIN");
}
SMPPage page = genericLoginProcedure("SYS_ADMIN");
logger.info("Going to Users page");
page.sidebar.goToPage(UsersPage.class);
page.waitForRowsToLoad();
}
@Test(description = "USR-10")
......
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