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

Skip to content
Snippets Groups Projects
Commit 954fe5a6 authored by comanca's avatar comanca
Browse files

Minor fixes and improvements

parent bf5e2a84
No related branches found
No related tags found
No related merge requests found
Showing
with 104 additions and 32 deletions
......@@ -57,6 +57,7 @@ public class Sidebar extends PageComponent {
break;
}
waitForXMillis(500);
return PageFactory.initElements(driver, expect);
}
......
......@@ -19,7 +19,7 @@ public class Header extends PageComponent{
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
@FindBy(css = "page-header > h1")
@FindBy(id = "_header_id")
private WebElement pageTitle;
@FindBy(css = ".helpMenu")
......@@ -36,4 +36,9 @@ public class Header extends PageComponent{
}
public void waitForTitleToBe(String title){
waitForXMillis(500);
webDriverWait.until(ExpectedConditions.textToBePresentInElement(pageTitle, title));
}
}
......@@ -20,6 +20,7 @@ public class BasicGrid extends PageComponent {
super(driver);
log.info("Loading basic grid");
waitToLoad();
PageFactory.initElements( new DefaultElementLocatorFactory(container) , this);
for (int i = 0; i < gridHeaders.size(); i++) {
......@@ -28,6 +29,17 @@ public class BasicGrid extends PageComponent {
}
private By loadingBar = By.className("mat-ripple-element");
private void waitToLoad(){
try {
waitForXMillis(500);
waitForElementToBeGone(driver.findElement(loadingBar));
} catch (Exception e) {
}
}
@FindBy(css = "datatable-header div.datatable-row-center datatable-header-cell")
protected List<WebElement> gridHeaders;
......
......@@ -15,6 +15,7 @@ import utils.PROPERTIES;
public class DomainPage extends SMPPage {
public DomainPage(WebDriver driver) {
super(driver);
this.pageHeader.waitForTitleToBe("Domain");
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
......
......@@ -93,6 +93,13 @@ public class LoginPage extends SMPPage {
return new SearchPage(driver);
}
public void invalidLogin(String user, String pass){
clearAndFillInput(username, user);
clearAndFillInput(password, pass);
loginBtn.click();
}
public SearchPage login(String role){
log.info("Login started!!");
......
......@@ -7,6 +7,7 @@ import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
import pages.components.ConfirmationDialog;
import pages.components.baseComponents.PaginationControls;
import pages.components.baseComponents.SMPPage;
import pages.service_groups.FilterArea;
import pages.service_groups.ServiceGroupGrid;
......@@ -17,6 +18,7 @@ import java.util.List;
public class EditPage extends SMPPage {
public EditPage(WebDriver driver) {
super(driver);
this.pageHeader.waitForTitleToBe("Edit");
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
filterArea = new FilterArea(driver);
}
......@@ -42,6 +44,8 @@ public class EditPage extends SMPPage {
@FindBy(id = "deleteButton")
private WebElement deleteButton;
public PaginationControls pagination = new PaginationControls(driver);
public boolean isCancelButtonEnabled(){
return cancelButton.isEnabled();
}
......@@ -115,10 +119,9 @@ public class EditPage extends SMPPage {
}
public void saveChanges(){
public void saveChangesAndConfirm(){
waitForElementToBeClickable(saveButton).click();
new ConfirmationDialog(driver).confirm();
}
}
......
......@@ -5,6 +5,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
import org.openqa.selenium.support.ui.ExpectedConditions;
import pages.components.baseComponents.PageComponent;
import utils.PROPERTIES;
......@@ -138,6 +139,8 @@ public class ServiceGroupPopup extends PageComponent {
}
public String getExtensionAreaContent(){
waitForElementToBeVisible(extensionTextArea);
waitForXMillis(500);
return extensionTextArea.getAttribute("value").trim();
}
......
......@@ -5,7 +5,7 @@ import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import pages.service_groups.ServiceGroupRow;
public class ServiceGroupRowE extends pages.service_groups.ServiceGroupRow {
public class ServiceGroupRowE extends ServiceGroupRow {
public ServiceGroupRowE(WebDriver driver, WebElement container) {
super(driver, container);
}
......
......@@ -15,7 +15,8 @@ public class SearchPage extends SMPPage {
super(driver);
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
waitForElementToBeVisible(searchGridContainer);
this.pageHeader.waitForTitleToBe("Search");
serviceGroupGrid = new ServiceGroupGrid(driver, searchGridContainer);
}
......
......@@ -17,6 +17,7 @@ import java.util.List;
public class UsersPage extends SMPPage {
public UsersPage(WebDriver driver) {
super(driver);
this.pageHeader.waitForTitleToBe("Users");
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
......@@ -61,16 +62,10 @@ public class UsersPage extends SMPPage {
return saveBtn.isEnabled();
}
public boolean isDeleteButtonEnabled(){
waitForElementToBeEnabled(deleteBtn);
waitForXMillis(200);
return deleteBtn.isEnabled();
}
public boolean isEditButtonEnabled(){
return editBtn.isEnabled();
}
public boolean isNewButtonEnabled(){
return newBtn.isEnabled();
}
public ConfirmationDialog clickCancel(){
waitForElementToBeClickable(cancelBtn).click();
return new ConfirmationDialog(driver);
......
......@@ -38,9 +38,9 @@ public class BaseTest {
createUsers();
createSGs();
logger.info("Starting this puppy!!!!");
driver = DriverManager.getDriver();
driver.get(PROPERTIES.UI_BASE_URL);
// logger.info("Starting this puppy!!!!");
// driver = DriverManager.getDriver();
// driver.get(PROPERTIES.UI_BASE_URL);
}
......@@ -61,17 +61,26 @@ public class BaseTest {
}
@AfterClass(alwaysRun = true)
public void logoutAndReset(){
driver.get(PROPERTIES.UI_BASE_URL);
SMPPage page = new SMPPage(driver);
page.refreshPage();
public void afterClass(){
driver.quit();
// driver.get(PROPERTIES.UI_BASE_URL);
// SMPPage page = new SMPPage(driver);
// page.refreshPage();
//
// if(page.pageHeader.sandwichMenu.isLoggedIn()){
// logger.info("Logout!!");
// page.pageHeader.sandwichMenu.logout();
// }
}
if(page.pageHeader.sandwichMenu.isLoggedIn()){
logger.info("Logout!!");
page.pageHeader.sandwichMenu.logout();
}
@BeforeClass(alwaysRun = true)
public void beforeClass(){
driver = DriverManager.getDriver();
driver.get(PROPERTIES.UI_BASE_URL);
}
private void createDomains(){
for (int i = 0; i < 5; i++) {
String generated = Generator.randomAlphaNumeric(10);
......
......@@ -266,6 +266,7 @@ public class DomainPgTest extends BaseTest {
SoftAssert soft = new SoftAssert();
DomainPage page = new DomainPage(driver);
page.refreshPage();
int index = scrollToDomain(domainName);
page.grid().selectRow(index);
......
......@@ -7,6 +7,7 @@ import org.testng.asserts.SoftAssert;
import pages.components.ConfirmationDialog;
import pages.components.baseComponents.SMPPage;
import pages.service_groups.ServiceGroupGrid;
import pages.service_groups.ServiceGroupRow;
import pages.service_groups.edit.EditPage;
import pages.service_groups.edit.ServiceGroupPopup;
import pages.service_groups.edit.ServiceGroupRowE;
......@@ -37,6 +38,11 @@ public class EditPgTest extends BaseTest{
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");
......@@ -88,10 +94,11 @@ public class EditPgTest extends BaseTest{
Integer index = 0;
ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index);
String pi = row0.getParticipantIdentifier();
grid.doubleClickRow(index);
ServiceGroupPopup popup = new ServiceGroupPopup(driver);
soft.assertTrue(row0.getParticipantIdentifier().equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group");
soft.assertTrue(pi.equalsIgnoreCase(popup.getParticipantIdentifierValue()), "Popup opened for appropriate service group");
soft.assertTrue(popup.isExtensionAreaEditable(), "extension area is editable");
popup.enterDataInExtensionTextArea("kjsfdfjfhskdjfhkjdhfksdjhfjksdhfjksd");
......@@ -101,7 +108,9 @@ public class EditPgTest extends BaseTest{
popup.enterDataInExtensionTextArea(extensionData);
popup.clickOK();
page.saveChanges();
page.saveChangesAndConfirm();
index = scrollToSG(pi);
page.getGrid().doubleClickRow(index);
ServiceGroupPopup popup2 = new ServiceGroupPopup(driver);
......@@ -109,10 +118,12 @@ public class EditPgTest extends BaseTest{
popup2.enterDataInExtensionTextArea("");
popup2.clickCancel();
//TODO: refactor this assert bellow
// page.getGrid().doubleClickRow(0);
// ServiceGroupPopup popup3 = new ServiceGroupPopup(driver);
// soft.assertTrue(!popup3.getExtensionAreaContent().isEmpty(), "Extension data is NOT saved empty as expected");
index = scrollToSG(pi);
page.getGrid().doubleClickRow(index);
ServiceGroupPopup popup3 = new ServiceGroupPopup(driver);
soft.assertTrue(!popup3.getExtensionAreaContent().isEmpty(), "Extension data is NOT saved empty as expected");
soft.assertAll();
......@@ -382,4 +393,27 @@ public class EditPgTest extends BaseTest{
}
private int scrollToSG(String pi){
EditPage page = new EditPage(driver);
page.pagination.skipToFirstPage();
boolean end = false;
while (!end) {
page = new EditPage(driver);
List<ServiceGroupRow> rows = page.getGrid().getRows();
for (int i = 0; i < rows.size(); i++) {
if(rows.get(i).getParticipantIdentifier().equalsIgnoreCase(pi)){
return i;
}
}
if(page.pagination.hasNextPage()){
page.pagination.goToNextPage();
}else{end = true;}
}
return -1;
}
}
......@@ -19,7 +19,7 @@ public class LoginPgTest extends BaseTest {
@AfterMethod
public void logoutAndReset(){
SearchPage page = new SearchPage(driver);
SMPPage page = new SMPPage(driver);
page.refreshPage();
if(page.pageHeader.sandwichMenu.isLoggedIn()){
......@@ -123,7 +123,7 @@ public class LoginPgTest extends BaseTest {
LoginPage loginPage = new LoginPage(driver);
loginPage.login("invalidUsername", "nonexistentPassword");
loginPage.invalidLogin("invalidUsername", "nonexistentPassword");
AlertMessage message = loginPage.alertArea.getAlertMessage();
soft.assertTrue(message.isError(), "Check message is error message");
......
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