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

Skip to content
Snippets Groups Projects
Commit f4e1ed8a authored by Catalin Comanici's avatar Catalin Comanici
Browse files

minor fixes for stability

parent 0784b1ea
No related branches found
No related tags found
No related merge requests found
Pipeline #20160 passed with warnings
......@@ -11,33 +11,27 @@ import pages.service_groups.search.SearchPage;
import utils.PROPERTIES;
public class SandwichMenu extends PageComponent {
public SandwichMenu(WebDriver driver) {
super(driver);
log.info("sandwich menu init");
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
@SuppressWarnings("SpellCheckingInspection")
@FindBy(id = "settingsmenu_id")
WebElement expandoButton;
@FindBy(css = "div.mat-menu-content")
WebElement lnkContainer;
@SuppressWarnings("SpellCheckingInspection")
@FindBy(id = "currentuser_id")
WebElement currentUserID;
@FindBy(id = "logout_id")
WebElement logoutLnk;
@FindBy(id = "changePassword_id")
WebElement passChangeLnk;
public SandwichMenu(WebDriver driver) {
super(driver);
log.info("sandwich menu init");
PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
public boolean isLoggedIn(){
public boolean isLoggedIn() {
clickVoidSpace();
waitForElementToBeClickable(expandoButton).click();
......@@ -46,24 +40,26 @@ public class SandwichMenu extends PageComponent {
try {
String text = waitForElementToBeVisible(lnkContainer).getText();
isLoggedIn = !text.contains("Not logged in");
} catch (Exception e) { }
} catch (Exception e) {
}
log.info("User login status is: " + isLoggedIn);
clickVoidSpace();
return isLoggedIn;
}
public PasswordChangepopup clickChangePasswordOption()
{
public PasswordChangepopup clickChangePasswordOption() {
waitForElementToBeClickable(expandoButton).click();
waitForElementToBeGone(expandoButton);
waitForElementToBeClickable(passChangeLnk).click();
return new PasswordChangepopup(driver);
}
public SearchPage logout(){
public SearchPage logout() {
clickVoidSpace();
if(isLoggedIn()){
if (isLoggedIn()) {
waitForElementToBeClickable(expandoButton).click();
waitForElementToBeClickable(logoutLnk).click();
log.info("Logging out...");
......@@ -71,7 +67,7 @@ public class SandwichMenu extends PageComponent {
return new SearchPage(driver);
}
public void waitForSandwichMenu(){
public void waitForSandwichMenu() {
log.info("waiting for sandwich menu");
waitForXMillis(500);
waitForElementToBeVisible(expandoButton);
......
......@@ -7,16 +7,11 @@ import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
import pages.components.SandwichMenu;
import pages.login.LoginPage;
import pages.password.PasswordChangepopup;
import utils.PROPERTIES;
public class Header extends PageComponent{
public Header(WebDriver driver) {
super(driver);
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
public class Header extends PageComponent {
public SandwichMenu sandwichMenu = new SandwichMenu(driver);
@FindBy(id = "_header_id")
private WebElement pageTitle;
......@@ -29,41 +24,33 @@ public class Header extends PageComponent{
@FindBy(css = "#sandwichMenu .ng-star-inserted")
private WebElement role;
@FindBy(css = "#changePassword_id")
private WebElement changePasswordOption;
public SandwichMenu sandwichMenu = new SandwichMenu(driver);
public PasswordChangepopup clickChangePasswordOption()
{
log.info("Clicking on changepassword option");
waitForElementToBeClickable(changePasswordOption).click();
return new PasswordChangepopup(driver);
public Header(WebDriver driver) {
super(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
public LoginPage goToLogin(){
public LoginPage goToLogin() {
log.info("Going to login page");
waitForElementToBeClickable(loginLnk).click();
return new LoginPage(driver);
}
public void waitForTitleToBe(String title){
public void waitForTitleToBe(String title) {
log.info("waiting for page title to be " + title);
waitForXMillis(500);
waitForElementToHaveText(pageTitle, title);
}
public void waitForTitleToBe(){
public void waitForTitleToBe() {
log.info("waiting for page title to be present");
waitForXMillis(500);
waitForElementToBeVisible(pageTitle);
}
public String getRoleName()
{
public String getRoleName() {
String getUserRole = role.getText();
String roleName= getUserRole.split(":")[0].trim();
String roleName = getUserRole.split(":")[0].trim();
return roleName;
}
}
......@@ -41,8 +41,7 @@ public class PasswordChangepopup extends PageComponent {
WebElement okBtn;
@FindBy(css = "mat-dialog-actions button:nth-child(2)")
WebElement cancelBtn;
@FindBy(css = "#changePassword_id")
WebElement changePassword;
@FindBy(css = "smp-password-change-dialog mat-dialog-actions button:nth-child(1)")
WebElement changedPassword;
@FindBy(css = "#closebuttondialog_id")
......@@ -69,11 +68,6 @@ public class PasswordChangepopup extends PageComponent {
waitForElementToBeGone(cancelBtn);
}
public void clickChangePassword() {
log.info("click change password");
waitForElementToBeClickable(changePassword);
changePassword.click();
}
public SearchPage clickCloseAfterChangedPassForLoggedUser() {
log.info("click close after change password");
......
......@@ -10,74 +10,62 @@ import pages.components.baseComponents.PageComponent;
import utils.PROPERTIES;
public class ServiceMetadataPopup extends PageComponent {
public ServiceMetadataPopup(WebDriver driver) {
super(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
domainSelect = new GenericSelect(driver, domainSelectContainer);
}
@FindBy(css = "mat-dialog-actions > button:nth-child(1)")
private WebElement okButton;
@FindBy(css = "mat-dialog-actions > button:nth-child(2)")
private WebElement cancelButton;
@FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(1)")
private WebElement clearButton;
@FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(2)")
private WebElement generateXMLButton;
@FindBy(css = "mat-card-content > mat-toolbar > mat-toolbar-row > button:nth-child(4)")
private WebElement validateButton;
@FindBy(css = "#MetadataTextArea")
private WebElement metadataTextArea;
@FindBy(css = "#participanSchema_id")
private WebElement participantSchemaInput;
@FindBy(css = "#participantIdentifier_id")
private WebElement participantIdentifierInput;
@FindBy(css = "#documentScheme_id")
private WebElement documentSchemeInput;
@FindBy(css = "#documentIdentifier_id")
private WebElement documentIdentifierInput;
@FindBy(xpath = "//span[text() ='Metadata wizard']")
private WebElement metadataWizardBtn;
@FindBy(css = "mat-card-content > div > div.ng-star-inserted:nth-child(2)")
private WebElement xmlValidationMsg;
@FindBy(css = "mat-dialog-content #domain_id")
private WebElement domainSelectContainer;
private GenericSelect domainSelect;
public ServiceMetadataPopup(WebDriver driver) {
super(driver);
public EditPage clickOK(){
/*waitForElementToBeClickable(okButton);
okButton.click();
waitForElementToBeGone(okButton);
return new EditPage(driver);*/
waitForElementToBeVisible(okButton);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
waitForElementToBeVisible(domainSelectContainer);
domainSelect = new GenericSelect(driver, domainSelectContainer);
}
public EditPage clickOK() {
waitForElementToBeClickable(okButton);
okButton.click();
return new EditPage(driver);
}
public boolean isOKBtnEnabled(){
public boolean isOKBtnEnabled() {
return okButton.isEnabled();
}
public void fillDocIdAndDocIdScheme(String docID, String docScheme){
public void fillDocIdAndDocIdScheme(String docID, String docScheme) {
waitForElementToBeVisible(documentIdentifierInput);
clearAndFillInput(documentIdentifierInput, docID);
clearAndFillInput(documentSchemeInput, docScheme);
}
public String xmlFieldVALUE(){
log.info("value is "+metadataTextArea.getAttribute("value"));
public String xmlFieldVALUE() {
log.info("value is " + metadataTextArea.getAttribute("value"));
return metadataTextArea.getAttribute("value");
}
......@@ -91,32 +79,37 @@ public class ServiceMetadataPopup extends PageComponent {
generateXMLButton.click();
}
public String captureTextOfMetadataTextArea(){
public String captureTextOfMetadataTextArea() {
return metadataTextArea.getText();
}
public void clickValidateBtn(){
public void clickValidateBtn() {
waitForElementToBeClickable(validateButton).click();
}
public void clickGenerateXMLBtn(){
public void clickGenerateXMLBtn() {
waitForElementToBeClickable(generateXMLButton).click();
}
public void clickClearBtn(){
public void clickClearBtn() {
waitForElementToBeClickable(clearButton).click();
}
public String getXMLValidationMessage(){
public String getXMLValidationMessage() {
return xmlValidationMsg.getText();
}
public void addTextToMetadataTextArea(String generator){
public void addTextToMetadataTextArea(String generator) {
metadataTextArea.sendKeys(generator);
}
public String docIDFieldValue(){
public String docIDFieldValue() {
return documentIdentifierInput.getAttribute("value");
}
public String docIDSchemeFieldValue(){
public String docIDSchemeFieldValue() {
return documentSchemeInput.getAttribute("value");
}
......@@ -153,9 +146,8 @@ public class ServiceMetadataPopup extends PageComponent {
return isEnabled(documentIdentifierInput);
}
public ServiceMetadataWizardPopup clickMetadataWizard(){
waitForElementToBeClickable(metadataWizardBtn);
metadataWizardBtn.click();
public ServiceMetadataWizardPopup clickMetadataWizard() {
waitForElementToBeClickable(metadataWizardBtn).click();
return new ServiceMetadataWizardPopup(driver);
}
......
......@@ -11,92 +11,83 @@ import utils.PROPERTIES;
import java.io.File;
public class ServiceMetadataWizardPopup extends PageComponent {
public ServiceMetadataWizardPopup(WebDriver driver) {
super(driver);
PageFactory.initElements( new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
@FindBy(css = "#documentIdentifierScheme_id")
private WebElement docIdSchemeField;
@FindBy(css = "#processSchema_id")
private WebElement processSchemeField;
@FindBy(css = "service-metadata-wizard-dialog input#documentIdentifier_id")
private WebElement docIdField;
@FindBy(css = "#processidentifier_id")
private WebElement processIdField;
@FindBy(css = "#endpointUrl_id")
private WebElement endpointUrl;
@FindBy(css = "#transportProfiler_id")
private WebElement transportProfileField;
@FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(1)")
private WebElement okButton;
@FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(2)")
private WebElement cancelButton;
@FindBy(css="input#certificate-file-upload")
private WebElement uploadCertificateBtn;
@FindBy(css="#metadatacertificate_id")
private WebElement certificateDescriptionBox;
public String docIDFieldValue(){
return docIdField.getAttribute("value");
}
public String docIDSchemeFieldValue(){
return docIdSchemeField.getAttribute("value");
}
public String transportProfileFieldContent(){
return transportProfileField.getAttribute("value");
}
public void clickUploadCertificate(){
waitForElementToBeVisible(uploadCertificateBtn);
uploadCertificateBtn.click();
}
public void fillCerificateBox(String generator){
certificateDescriptionBox.sendKeys(generator);
}
public void uploadCertificate(String relativePath){
waitForElementToBeVisible(uploadCertificateBtn);
uploadCertificateBtn.click();
String path = new File(relativePath).getAbsolutePath();
uploadCertificateBtn.sendKeys(path);
}
public boolean isEnableOkBtn(){
waitForElementToBeVisible(okButton);
return okButton.isEnabled();
}
public ServiceMetadataPopup clickOK(){
waitForElementToBeVisible(okButton);
okButton.click();
return new ServiceMetadataPopup(driver);
}
public void fillForm(String docID,String docScheme,String processID,String processScheme,String transportProfile,String url){
waitForElementToBeVisible(docIdField);
clearAndFillInput(docIdField, docID);
clearAndFillInput(docIdSchemeField, docScheme);
clearAndFillInput(processIdField, processID);
clearAndFillInput(processSchemeField, processScheme);
clearAndFillInput(transportProfileField, transportProfile);
clearAndFillInput(endpointUrl,url);
}
@FindBy(css = "#documentIdentifierScheme_id")
private WebElement docIdSchemeField;
@FindBy(css = "#processSchema_id")
private WebElement processSchemeField;
@FindBy(css = "service-metadata-wizard-dialog input#documentIdentifier_id")
private WebElement docIdField;
@FindBy(css = "#processidentifier_id")
private WebElement processIdField;
@FindBy(css = "#endpointUrl_id")
private WebElement endpointUrl;
@FindBy(css = "#transportProfiler_id")
private WebElement transportProfileField;
@FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(1)")
private WebElement okButton;
@FindBy(css = "service-metadata-wizard-dialog > mat-dialog-actions > button[type='button']:nth-child(2)")
private WebElement cancelButton;
@FindBy(css = "input#certificate-file-upload")
private WebElement uploadCertificateBtn;
@FindBy(css = "#metadatacertificate_id")
private WebElement certificateDescriptionBox;
public ServiceMetadataWizardPopup(WebDriver driver) {
super(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, PROPERTIES.TIMEOUT), this);
}
public String docIDFieldValue() {
return docIdField.getAttribute("value");
}
public String docIDSchemeFieldValue() {
return docIdSchemeField.getAttribute("value");
}
public String transportProfileFieldContent() {
return transportProfileField.getAttribute("value");
}
public void clickUploadCertificate() {
waitForElementToBeVisible(uploadCertificateBtn);
uploadCertificateBtn.click();
}
public void fillCerificateBox(String generator) {
certificateDescriptionBox.sendKeys(generator);
}
public void uploadCertificate(String relativePath) {
waitForElementToBeVisible(uploadCertificateBtn);
uploadCertificateBtn.click();
String path = new File(relativePath).getAbsolutePath();
uploadCertificateBtn.sendKeys(path);
}
public boolean isEnabledOkBtn() {
waitForElementToBeEnabled(okButton);
return okButton.isEnabled();
}
public ServiceMetadataPopup clickOK() {
waitForElementToBeVisible(okButton);
okButton.click();
return new ServiceMetadataPopup(driver);
}
public void fillForm(String docID, String docScheme, String processID, String processScheme, String transportProfile, String url) {
waitForElementToBeVisible(docIdField);
clearAndFillInput(docIdField, docID);
clearAndFillInput(docIdSchemeField, docScheme);
clearAndFillInput(processIdField, processID);
clearAndFillInput(processSchemeField, processScheme);
clearAndFillInput(transportProfileField, transportProfile);
clearAndFillInput(endpointUrl, url);
}
}
......@@ -393,7 +393,7 @@ public class EditPgTest extends BaseTest {
ServiceMetadataWizardPopup metadataWizaedPopup = metadataPopup.clickMetadataWizard();
metadataWizaedPopup.fillForm(generator, generator, generator, generator, "bdxr-transport-ebms3-as4-v1p0", "internal/rest/domain");
metadataWizaedPopup.fillCerificateBox(generator);
soft.assertTrue(metadataWizaedPopup.isEnableOkBtn(), "ok button is disabled after providing the valid data");
soft.assertTrue(metadataWizaedPopup.isEnabledOkBtn(), "ok button is disabled after providing the valid data");
metadataPopup = metadataWizaedPopup.clickOK();
soft.assertEquals(metadataPopup.docIDFieldValue(), generator, "After saving the servicemetadata wizard popup with valid data the docID field of service metadata popup doc id contain the coressponding value");
soft.assertEquals(metadataPopup.docIDSchemeFieldValue(), generator, "After saving the servicemetadata wizard popup with valid data the docIDScheme field of service metadata popup doc id scheme contain the coressponding value");
......@@ -490,16 +490,20 @@ public class EditPgTest extends BaseTest {
EditPage page = new EditPage(driver);
String generator = Generator.randomAlphaNumeric(10);
ServiceGroupGrid grid = page.getGrid();
grid.waitForRowsToLoad();
int index = 0;
ServiceGroupRowE row0 = grid.getRowsAs(ServiceGroupRowE.class).get(index);
ServiceMetadataPopup metadataPopup = row0.clickAddMetadata();
ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard();
soft.assertTrue(!metadataPopup.isParticipantIdentifierEnabled(), "participantId field is enabled for an existing service group in service metadata popup");
soft.assertTrue(!metadataPopup.isParticipantSchemeEnabled(), "participantScheme field is enabled for an existing service group in service metadata popup");
soft.assertFalse(metadataWizard.isEnableOkBtn(), "OK button is enabled before providing the valid data");
ServiceMetadataWizardPopup metadataWizard = metadataPopup.clickMetadataWizard();
soft.assertFalse(metadataWizard.isEnabledOkBtn(), "OK button is enabled before providing the valid data");
metadataWizard.fillForm(generator, generator, generator, generator, "bdxr-transport-ebms3-as4-v1p0", "internal/rest/domain");
metadataWizard.fillCerificateBox(generator);
soft.assertTrue(metadataWizard.isEnableOkBtn(), "OK button is disable after providing the valid data");
soft.assertTrue(metadataWizard.isEnabledOkBtn(), "OK button is disabled after providing the valid data");
soft.assertAll();
......
......@@ -257,19 +257,14 @@ public class LoginPgTest extends BaseTest {
SearchPage searchPage = loginPage.login(userName, "QW!@qw12");
PasswordChangepopup passDialog = searchPage.pageHeader.sandwichMenu.clickChangePasswordOption();
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
passDialog.waitForXMillis(1000);
passDialog.fillDataForLoggedUser("QW!@qw12", validPass, validPass);
passDialog.clickChangedPassword();
searchPage = passDialog.clickCloseAfterChangedPassForLoggedUser();
try {
Thread.sleep(10000);
} catch (Exception e) {
}
passDialog.waitForXMillis(1000);
soft.assertTrue(searchPage.isLoaded(), "After changing the password for a logged user the page is not redirecting to searchpage");
SMPPage page1 = genericLoginProcedure("SYS_ADMIN");
logger.info("Going to Users page");
......
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