diff --git a/domiSMP-ui-tests/pom.xml b/domiSMP-ui-tests/pom.xml
index 61c2fb902e10acd36762a05c23e31e190b53d7a7..2eee64d7cc37185f29d6b7e3e50294c8b35511cd 100644
--- a/domiSMP-ui-tests/pom.xml
+++ b/domiSMP-ui-tests/pom.xml
@@ -13,23 +13,23 @@
         <test.properties.path>./src/main/resources/myLocal.properties</test.properties.path>
 
         <commons-csv_version>1.10.0</commons-csv_version>
-        <selenium-chrome-driver_version>4.11.0</selenium-chrome-driver_version>
-        <selenium-java_version>4.11.0</selenium-java_version>
-        <poi-ooxml_version>5.2.3</poi-ooxml_version>
+        <selenium-chrome-driver_version>4.15.0</selenium-chrome-driver_version>
+        <selenium-java_version>4.15.0</selenium-java_version>
+        <poi-ooxml_version>5.2.4</poi-ooxml_version>
         <reflections_version>0.10.2</reflections_version>
         <jersey-client_version>1.19.4</jersey-client_version>
         <jersey-multipart_version>1.19.4</jersey-multipart_version>
-        <json_version>20230618</json_version>
+        <json_version>20231013</json_version>
         <jackson_version>2.15.2</jackson_version>
         <javax.ws.rs-api_version>2.1.1</javax.ws.rs-api_version>
         <javax.ws.rs-api_version>2.1.1</javax.ws.rs-api_version>
         <xmlunit_version>1.6</xmlunit_version>
-        <maven-surefire-plugin_version>3.1.2</maven-surefire-plugin_version>
+        <maven-surefire-plugin_version>3.2.2</maven-surefire-plugin_version>
         <testng_version>7.8.0</testng_version>
         <logback-classic_version>1.4.11</logback-classic_version>
-        <extentreports_version>5.1.0</extentreports_version>
+        <extentreports_version>5.1.1</extentreports_version>
         <commons-lang3_version>3.13.0</commons-lang3_version>
-        <commons-io_version>2.13.0</commons-io_version>
+        <commons-io_version>2.15.0</commons-io_version>
 
     </properties>
 
@@ -232,6 +232,11 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <version>${maven-surefire-plugin_version}</version>
         </dependency>
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>xercesImpl</artifactId>
+            <version>2.12.2</version>
+        </dependency>
     </dependencies>
 
 
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java
index 8f645a4535c039f523ede04ccb159253b75262d0..e4b6b32ad0e384c41d27686b499372b5fadcbe7b 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabs.java
@@ -31,7 +31,6 @@ public class CommonPageWithTabs extends DomiSMPPage {
     }
 
     public String getAlertMessageAndClose() {
-
         return getAlertArea().getAlertMessage();
     }
 }
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java
index 59878a9beaf613fe2ce1e2803d3a6f00727d1a90..072adf4c2b4a7872cbdbb170bc3f364c67c1268d 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/CommonPageWithTabsAndGrid.java
@@ -6,13 +6,10 @@ 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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 /**
  * Generic page used for pages which have small grid in the right of the page and tabs in the left. This element gives access to action buttons and elements of the page.
  */
 public class CommonPageWithTabsAndGrid extends CommonPageWithTabs {
-    private final static Logger LOG = LoggerFactory.getLogger(CommonPageWithTabsAndGrid.class);
     @FindBy(css = "mat-form-field input")
     public WebElement filterInput;
     @FindBy(css = "data-panel >div >div> mat-toolbar button:first-of-type")
@@ -23,9 +20,7 @@ public class CommonPageWithTabsAndGrid extends CommonPageWithTabs {
     public CommonPageWithTabsAndGrid(WebDriver driver) {
         super(driver);
         PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this);
-        LOG.debug("CommonPageWithTabs is loaded");
     }
-
     public SmallGrid getLeftSideGrid() {
         return new SmallGrid(driver, rightPanel);
     }
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/DomiSMPPage.java b/domiSMP-ui-tests/src/main/java/ddsl/DomiSMPPage.java
index 8d01055bc1617632a3fd7c10cc63987e4d9e3968..ef81d2d368bd4917a876d75b477ad75d53532436 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/DomiSMPPage.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/DomiSMPPage.java
@@ -13,14 +13,11 @@ import org.openqa.selenium.interactions.Actions;
 import org.openqa.selenium.support.FindBy;
 import org.openqa.selenium.support.PageFactory;
 import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import pages.LoginPage;
 /**
  * Page object for the common components from Domismp like navigation, right menu. This contains the locators of the page and the methods for the behaviour of the page
  */
 public class DomiSMPPage extends DComponent {
-    private final static Logger LOG = LoggerFactory.getLogger(DomiSMPPage.class);
     @FindBy(css = "cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing")
     protected WebElement overlay;
     @FindBy(id = "login_id")
@@ -63,7 +60,6 @@ public class DomiSMPPage extends DComponent {
         Actions actions = new Actions(driver);
         actions.moveToElement(logoutMenuBtn);
         actions.perform();
-
         logoutMenuBtn.click();
     }
 
@@ -71,31 +67,15 @@ public class DomiSMPPage extends DComponent {
         driver.navigate().refresh();
         waitForPageToLoaded();
     }
-//
-//    public AlertComponent getAlertArea() {
-//        return new AlertComponent(driver);
-//    }
-
     public AlertComponent getAlertArea(){
         if (  alertComponent == null){
             alertComponent = new AlertComponent(driver);
         }
         return alertComponent;
     }
-
     public DButton getExpiredDialoginbutton() {
         return weToDButton(dialogOKbutton);
     }
-
-    public boolean isExpiredDialoginbuttonEnabled() {
-        try {
-            return weToDButton(dialogOKbutton).isPresent();
-            // return dialogOKbutton.isEnabled();
-        } catch (Exception e) {
-            LOG.info("Expiration poup not found", e);
-            return false;
-        }
-    }
     public void waitForPageToLoaded() {
         JavascriptExecutor js = (JavascriptExecutor) driver;
         js.executeScript("return document.readyState").toString().equals("complete");
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/AlertComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/AlertComponent.java
index 65bb59dd7dee4153e73eab9fcce8fca59c0f9cfc..fbe653d972028a6ccb839ab9408838103c2964b3 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/AlertComponent.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/AlertComponent.java
@@ -16,10 +16,10 @@ public class AlertComponent extends DComponent {
     private final static Logger LOG = LoggerFactory.getLogger(AlertComponent.class);
 
     @FindBy(id = "alertmessage_id")
-    public WebElement alertToaster;
+    private WebElement alertToaster;
 
     @FindBy(css = "[class = \"closebtn\"]")
-    public WebElement closeBtn;
+    private WebElement closeBtn;
 
 
     public AlertComponent(WebDriver driver) {
@@ -41,4 +41,8 @@ public class AlertComponent extends DComponent {
         }
     }
 
+    public void closeAlert() {
+        weToDButton(closeBtn).click();
+    }
+
 }
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java
index 8b21fe07da7b0d864e91fc4fa4ae81e640415f8f..a70fb04b83f343b467a56bd9bd595636a42449fe 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/Grid/SmallGrid.java
@@ -9,6 +9,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.List;
+import java.util.NoSuchElementException;
 
 public class SmallGrid extends DComponent {
     private final static Logger LOG = LoggerFactory.getLogger(SmallGrid.class);
@@ -157,6 +158,7 @@ public class SmallGrid extends DComponent {
         if (columnIndex == -1) {
             LOG.error("No element found");
         }
+        boolean isElementPresent = false;
         for (int pageNr = 1; pageNr < numOfPages + 1; pageNr++) {
 
             List<WebElement> rows = getRows();
@@ -165,13 +167,21 @@ public class SmallGrid extends DComponent {
                 WebElement currentCell = cells.get(columnIndex);
                 if (currentCell.getText().equals(value)) {
                     LOG.debug("[{}] found on page [{}]", value, pageNr);
+                    isElementPresent = true;
                     currentCell.click();
+                    return;
                 }
             }
+            if (isElementPresent) {
+                return;
+            }
             getGridPagination().goToNextPage();
+        }
+        if (!isElementPresent) {
+            throw new NoSuchElementException("Value [" + value + "] was not found in the grid");
 
         }
-        LOG.error("No element found");
+
     }
 
 
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java
index 989c8b63e7a6b16524ea76107f64e05ebf3b6ed6..85126f9e970c38fe1ca1b85f5188262299884623 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/SideNavigationComponent.java
@@ -13,6 +13,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import pages.administration.editDomainsPage.EditDomainsPage;
 import pages.administration.editGroupsPage.EditGroupsPage;
+import pages.administration.editResourcesPage.EditResourcePage;
 import pages.systemSettings.TruststorePage;
 import pages.systemSettings.UsersPage;
 import pages.systemSettings.domainsPage.DomainsPage;
@@ -121,12 +122,10 @@ public class SideNavigationComponent extends DomiSMPPage {
             openSubmenu(administrationExpand, editGroupsLnk);
             return (T) new EditGroupsPage(driver);
         }
-
-
-        //            case ADMINISTRATION_EDIT_RESOURCES:
-        //                expandSection(administrationExpand);
-        //                return new DLink(driver, editResourcesLnk);
-
+        if (page == Pages.ADMINISTRATION_EDIT_RESOURCES) {
+            openSubmenu(administrationExpand, editResourcesLnk);
+            return (T) new EditResourcePage(driver);
+        }
         if (page == Pages.SYSTEM_SETTINGS_USERS) {
             openSubmenu(systemSettingsExpand, usersLnk);
             return (T) new UsersPage(driver);
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/UserDataCommonComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/UserDataCommonComponent.java
index 976baf529821b5041a047b591092232ea7764d03..2d93d77bf531b7328e497627ea15f158ba67f1da 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/UserDataCommonComponent.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/UserDataCommonComponent.java
@@ -26,7 +26,7 @@ public class UserDataCommonComponent extends DomiSMPPage {
     private WebElement fullNameInput;
     @FindBy(id = "passwordUpdatedOn_id")
     private WebElement lastSetLbl;
-    @FindBy(id = "passwordExpireOnMessage_id")
+    @FindBy(id = "passwordExpireOn_id")
     private WebElement passwordExpiresOnLbl;
 
     public UserDataCommonComponent(WebDriver driver) {
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/InviteMembersWithGridPopup.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/InviteMembersWithGridPopup.java
new file mode 100644
index 0000000000000000000000000000000000000000..ee1261e7b1b4e97cc9bbd3738c82e2f390bf106b
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/members/InviteMembersWithGridPopup.java
@@ -0,0 +1,60 @@
+package ddsl.dcomponents.commonComponents.members;
+
+import ddsl.dcomponents.DComponent;
+import ddsl.dcomponents.Grid.SmallGrid;
+import org.openqa.selenium.ElementNotInteractableException;
+import org.openqa.selenium.WebDriver;
+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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import rest.models.UserModel;
+
+/**
+ * Generic component for Invite members with members grid popup. It contains the WebElements and the methods specific to the dialog.
+ */
+public class InviteMembersWithGridPopup extends DComponent {
+
+    private final static Logger LOG = LoggerFactory.getLogger(InviteMembersWithGridPopup.class);
+    @FindBy(id = "addMemberButton")
+    private WebElement inviteMemberBtn;
+    @FindBy(id = "editButton")
+    private WebElement editMemberBtn;
+    @FindBy(id = "closeDialogButton")
+    private WebElement closeBtn;
+    @FindBy(css = "domain-member-panel")
+    private WebElement panel;
+
+    public InviteMembersWithGridPopup(WebDriver driver) {
+        super(driver);
+        PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this);
+    }
+
+    public SmallGrid getGrid() {
+        return new SmallGrid(driver, panel);
+    }
+
+    protected InviteMembersPopup inviteMember() throws ElementNotInteractableException {
+        weToDButton(inviteMemberBtn).click();
+        return new InviteMembersPopup(driver);
+    }
+
+    protected InviteMembersPopup editMember(String columnName, String value) {
+        WebElement tobeEdited = getGrid().searchAndGetElementInColumn(columnName, value);
+        tobeEdited.click();
+        wait.forElementToBeEnabled(editMemberBtn);
+        weToDButton(editMemberBtn).click();
+        return new InviteMembersPopup(driver);
+    }
+
+    public boolean isMemberPresentByUsername(UserModel userModel) {
+        return getGrid().isValuePresentInColumn("Username", userModel.getUsername());
+    }
+
+    public void clickOnCloseBtn() {
+        weToDButton(closeBtn).click();
+    }
+
+}
diff --git a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java
index 93fc4e7d30e615b1243c4839095714cbdcb15264..61486a96639af793d3be9c5e025d9b46c16916e5 100644
--- a/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java
+++ b/domiSMP-ui-tests/src/main/java/ddsl/dcomponents/commonComponents/subcategoryTab/SubcategoryTabComponent.java
@@ -3,26 +3,22 @@ package ddsl.dcomponents.commonComponents.subcategoryTab;
 import ddsl.dcomponents.ConfirmationDialog;
 import ddsl.dcomponents.DComponent;
 import ddsl.dcomponents.Grid.SmallGrid;
+import ddsl.dcomponents.commonComponents.members.InviteMembersWithGridPopup;
 import org.openqa.selenium.ElementNotInteractableException;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+
 /**
  * Generic component for Subcategory tabs. It contains the WebElements and the methods specific to the dialog.
- *
  */
 public class SubcategoryTabComponent extends DComponent {
-
-    private final static Logger LOG = LoggerFactory.getLogger(SubcategoryTabComponent.class);
-
     @FindBy(id = "createButton")
     private WebElement createBtn;
     @FindBy(id = "editButton")
     private WebElement editBtn;
     @FindBy(id = "groupMembersButton")
-    private WebElement resourceMembersBtn;
+    private WebElement membersBtn;
     @FindBy(id = "deleteButton")
     private WebElement deleteBtn;
     @FindBy(css = "[class=smp-column-data]")
@@ -40,6 +36,11 @@ public class SubcategoryTabComponent extends DComponent {
         weToDButton(createBtn).click();
     }
 
+    protected InviteMembersWithGridPopup clickOnMembersButton() {
+        weToDButton(membersBtn).click();
+        return new InviteMembersWithGridPopup(driver);
+    }
+
     protected void edit(String columnName, String value) throws Exception {
         WebElement tobeEdited = getGrid().searchAndGetElementInColumn(columnName, value);
         tobeEdited.click();
diff --git a/domiSMP-ui-tests/src/main/java/pages/LoginPage.java b/domiSMP-ui-tests/src/main/java/pages/LoginPage.java
index ad8f31f6dfc6f8ab525840f00e7e6dce9ee85c48..881ee4cc94439c8faca222ed0ee771d31ca73ea2 100644
--- a/domiSMP-ui-tests/src/main/java/pages/LoginPage.java
+++ b/domiSMP-ui-tests/src/main/java/pages/LoginPage.java
@@ -45,7 +45,6 @@ public class LoginPage extends DomiSMPPage {
             }
         } catch (Exception e) {
             LOG.debug("Password expiration popup is not present");
-            throw new RuntimeException("Password expiration popup is not present", e);
         }
 
 
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java
index e6b0c4e48a14d5190c3c0cfc3926faaf9832bd20..8b93f6309c7f51d7213a4ae51848babfa47f2e9c 100644
--- a/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editDomainsPage/GroupTab.java
@@ -1,9 +1,11 @@
 package pages.administration.editDomainsPage;
 
+import ddsl.dcomponents.commonComponents.members.InviteMembersWithGridPopup;
 import ddsl.dcomponents.commonComponents.subcategoryTab.SubcategoryTabComponent;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.support.PageFactory;
 import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
+
 /**
  * Page object Groups tab of Edit Groups page. This contains the locators of the page and the methods for the behaviour of the page
  */
@@ -24,6 +26,11 @@ public class GroupTab extends SubcategoryTabComponent {
         return new CreateGroupDetailsDialog(driver);
     }
 
+    public InviteMembersWithGridPopup clickOnGroupMembersBtn() {
+        return clickOnMembersButton();
+    }
+
+
     public void deleteGroup(String domainCode){
         delete("Group name", domainCode);
     }
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/CreateSubresourceDetailsDialog.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/CreateSubresourceDetailsDialog.java
new file mode 100644
index 0000000000000000000000000000000000000000..063c1163b4af6dee8895423d9ed317bd9bce2d6e
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/CreateSubresourceDetailsDialog.java
@@ -0,0 +1,51 @@
+package pages.administration.editResourcesPage;
+
+import ddsl.dcomponents.AlertComponent;
+import ddsl.dcomponents.DComponent;
+import org.openqa.selenium.WebDriver;
+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 rest.models.ResourceModel;
+
+public class CreateSubresourceDetailsDialog extends DComponent {
+
+
+    @FindBy(id = "identifierValue_id")
+    private WebElement subresourceIdentifierInput;
+    @FindBy(id = "identifierScheme_id")
+    private WebElement subresourceSchemeInput;
+    @FindBy(id = "createButton")
+    private WebElement createBtn;
+    private AlertComponent alertComponent = null;
+
+    public CreateSubresourceDetailsDialog(WebDriver driver) {
+        super(driver);
+        PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this);
+
+    }
+
+    public AlertComponent getAlertArea() {
+        if (alertComponent == null) {
+            alertComponent = new AlertComponent(driver);
+        }
+        return alertComponent;
+    }
+
+
+    public void fillResourceDetails(ResourceModel resourceModel) {
+        weToDInput(subresourceIdentifierInput).fill(resourceModel.getIdentifierValue());
+        weToDInput(subresourceSchemeInput).fill(resourceModel.getIdentifierScheme());
+    }
+
+    public Boolean tryClickOnSave() {
+        wait.forElementToBeClickable(createBtn);
+        if (weToDButton(createBtn).isEnabled()) {
+            weToDButton(createBtn).click();
+            return true;
+        } else {
+            return false;
+        }
+    }
+}
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourceDocumentPage.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourceDocumentPage.java
new file mode 100644
index 0000000000000000000000000000000000000000..b44c25ded8f49ca81fb0f0c15ea83842cdf6ab25
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourceDocumentPage.java
@@ -0,0 +1,81 @@
+package pages.administration.editResourcesPage;
+
+import ddsl.DomiSMPPage;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Page object for the Edit resource document page. This contains the locators of the page and the methods for the behaviour of the page
+ */
+public class EditResourceDocumentPage extends DomiSMPPage {
+    private final static Logger LOG = LoggerFactory.getLogger(EditResourceDocumentPage.class);
+
+    @FindBy(id = "GenerateResource_id")
+    private WebElement generateBtn;
+    @FindBy(id = "validateResource_id")
+    private WebElement validateBtn;
+    @FindBy(css = "smp-titled-label[title=\"Resource identifier:\"] div.smp-tl-value")
+    private WebElement resourceIdentifierLbl;
+    @FindBy(css = "smp-titled-label[title=\"Resource scheme:\"] div.smp-tl-value")
+    private WebElement resourceSchemeLbl;
+    @FindBy(css = "smp-titled-label[title=\"Document name:\"] div.smp-tl-value")
+    private WebElement documentNameLbl;
+    @FindBy(css = "smp-titled-label[title=\"Document mimeType:\"] div.smp-tl-value")
+    private WebElement documentMimeTypeLbl;
+    @FindBy(css = "smp-titled-label[title=\"Current document version:\"] div.smp-tl-value")
+    private WebElement currentDocumentVersionLbl;
+    @FindBy(id = "saveResource_id")
+    private WebElement saveBtn;
+    @FindBy(id = "cancel_id")
+    private WebElement cancelBtn;
+    @FindBy(id = "document version_id")
+    private WebElement versionDdl;
+
+    @FindBy(css = "ngx-codemirror[formcontrolname= \"payload\"] div textarea")
+    private WebElement codeEditorSendValueElement;
+
+    @FindBy(css = ".CodeMirror-line")
+    private List<WebElement> codeEditorReadValueElement;
+
+
+    protected EditResourceDocumentPage(WebDriver driver) {
+        super(driver);
+        LOG.debug("Loading Edit resource document page.");
+    }
+
+    public String getDocumentValue() {
+        ArrayList<String> document = new ArrayList<>();
+        for (WebElement el : codeEditorReadValueElement) {
+            document.add(el.getText());
+        }
+
+        String formatedDoc = document.toString();
+
+        formatedDoc
+                = formatedDoc.replace("[", "")
+                .replace("]", "")
+                .replace(",", "");
+
+
+        return formatedDoc;
+    }
+    public void clickOnGenerate() {
+        weToDButton(generateBtn).click();
+    }
+    public void clickOnSave() {
+        weToDButton(saveBtn).click();
+    }
+    public void clickOnValidate() {
+        weToDButton(validateBtn).click();
+    }
+
+    public void selectDocumentVersion(int version) {
+        weToDSelect(versionDdl).selectValue(String.valueOf(version));
+    }
+}
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourcePage.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourcePage.java
new file mode 100644
index 0000000000000000000000000000000000000000..8969a7de28467535581ba1155f54be3a7fa36771
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/EditResourcePage.java
@@ -0,0 +1,63 @@
+package pages.administration.editResourcesPage;
+
+import ddsl.CommonPageWithTabsAndGrid;
+import org.openqa.selenium.NoSuchElementException;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import rest.models.DomainModel;
+import rest.models.GroupModel;
+import rest.models.ResourceModel;
+
+/**
+ * Page object for the Edit resource page. This contains the locators of the page and the methods for the behaviour of the page
+ */
+public class EditResourcePage extends CommonPageWithTabsAndGrid {
+    private final static Logger LOG = LoggerFactory.getLogger(EditResourcePage.class);
+    @FindBy(id = "domain_id")
+    private WebElement domainDdl;
+    @FindBy(id = "group_id")
+    private WebElement groupDdl;
+
+    @FindBy(css = ".smp-warning-panel")
+    private WebElement notAdministratorWarning;
+
+
+    public EditResourcePage(WebDriver driver) {
+        super(driver);
+        LOG.debug("Loading Edit resources page.");
+    }
+
+    public void selectGroup(DomainModel domainModel, GroupModel groupModel) {
+        weToMatSelect(domainDdl).selectByVisibleText(domainModel.getDomainCode());
+    }
+
+    public ResourcesMembersTab getResourceMembersTab() {
+        return new ResourcesMembersTab(driver);
+    }
+
+    public ResourceDetailsTab getResourceDetailsTab() {
+        return new ResourceDetailsTab(driver);
+    }
+
+    public void selectDomain(DomainModel domainModel, GroupModel groupModel, ResourceModel resourceModel) {
+        weToMatSelect(domainDdl).selectByVisibleText(domainModel.getDomainCode());
+        weToMatSelect(groupDdl).selectByVisibleText(groupModel.getGroupName());
+        getLeftSideGrid().searchAndClickElementInColumn("Identifier", resourceModel.getIdentifierValue());
+    }
+
+    public boolean isCurrentUserAdministrator() {
+        try {
+            if (notAdministratorWarning.isDisplayed()) {
+                return true;
+            }
+            return false;
+
+        } catch (NoSuchElementException e) {
+            return false;
+        }
+    }
+
+}
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java
new file mode 100644
index 0000000000000000000000000000000000000000..8b4f79e3d75fece3fac81cb951b71a9aa1db38d0
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourceDetailsTab.java
@@ -0,0 +1,29 @@
+package pages.administration.editResourcesPage;
+
+import ddsl.dcomponents.DComponent;
+import org.openqa.selenium.ElementNotInteractableException;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.openqa.selenium.support.FindBy;
+import org.openqa.selenium.support.PageFactory;
+import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
+
+/**
+ * Page object Resource details tab of Edit Resource page. This contains the locators of the page and the methods for the behaviour of the page
+ */
+public class ResourceDetailsTab extends DComponent {
+
+    @FindBy(id = "showResource")
+    private WebElement editDocumentBtn;
+
+    public ResourceDetailsTab(WebDriver driver) {
+        super(driver);
+        PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this);
+
+    }
+
+    public EditResourceDocumentPage clickOnEditDocument() throws ElementNotInteractableException {
+        weToDButton(editDocumentBtn).click();
+        return new EditResourceDocumentPage(driver);
+    }
+}
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourcesMembersTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourcesMembersTab.java
new file mode 100644
index 0000000000000000000000000000000000000000..36e248f84fe58eb90fe1f22f5250173b02034eed
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/ResourcesMembersTab.java
@@ -0,0 +1,17 @@
+package pages.administration.editResourcesPage;
+
+import ddsl.dcomponents.commonComponents.members.MembersComponent;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.support.PageFactory;
+import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
+
+/**
+ * Page object Resources members tab of Edit Resource page. This contains the locators of the page and the methods for the behaviour of the page
+ */
+public class ResourcesMembersTab extends MembersComponent {
+    public ResourcesMembersTab(WebDriver driver) {
+        super(driver);
+        PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this);
+    }
+}
+
diff --git a/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/SubresourceTab.java b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/SubresourceTab.java
new file mode 100644
index 0000000000000000000000000000000000000000..659309a73f26d5bf4f80a920878014779a4998ed
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/pages/administration/editResourcesPage/SubresourceTab.java
@@ -0,0 +1,17 @@
+package pages.administration.editResourcesPage;
+
+import ddsl.dcomponents.commonComponents.members.MembersComponent;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.support.PageFactory;
+import org.openqa.selenium.support.pagefactory.AjaxElementLocatorFactory;
+
+/**
+ * Page object Subresource tab of Edit Resource page. This contains the locators of the page and the methods for the behaviour of the page
+ */
+public class SubresourceTab extends MembersComponent {
+    public SubresourceTab(WebDriver driver) {
+        super(driver);
+        PageFactory.initElements(new AjaxElementLocatorFactory(driver, data.getWaitTimeShort()), this);
+    }
+}
+
diff --git a/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java b/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java
index 364b6d7c84acccd1a9d89248b9112d6ab56d7ec7..df36defabd65e7b64fb8701e6e5367edb6e6994a 100644
--- a/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java
+++ b/domiSMP-ui-tests/src/main/java/pages/systemSettings/TruststorePage.java
@@ -1,7 +1,6 @@
 package pages.systemSettings;
 
 import ddsl.CommonCertificatePage;
-import ddsl.dcomponents.Grid.SmallGrid;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
 import org.openqa.selenium.support.FindBy;
@@ -18,10 +17,6 @@ public class TruststorePage extends CommonCertificatePage {
     public TruststorePage(WebDriver driver) {
         super(driver);
     }
-
-    public SmallGrid getCertificateGrid() {
-        return new SmallGrid(driver, rightPanel);
-    }
     public String addCertificateAndReturnAlias(String filePath) {
         uploadInput.sendKeys(filePath);
         String certificateAlias = getAlertMessageAndClose();
diff --git a/domiSMP-ui-tests/src/main/java/rest/DomiSMPRestClient.java b/domiSMP-ui-tests/src/main/java/rest/DomiSMPRestClient.java
index 45f72156c9e4835e1e24d156dc2ce8d36e1a71cf..451bdc8cc344f8ed0dbbc57178e98e26cf8a6645 100644
--- a/domiSMP-ui-tests/src/main/java/rest/DomiSMPRestClient.java
+++ b/domiSMP-ui-tests/src/main/java/rest/DomiSMPRestClient.java
@@ -10,10 +10,14 @@ public class DomiSMPRestClient extends BaseRestClient {
     public DomainClient domains() {
         return new DomainClient();
     }
-
     public GroupClient groups() {
         return new GroupClient();
     }
 
+    public ResourceClient resources() {
+        return new ResourceClient();
+    }
+
+
 }
 
diff --git a/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java b/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..40a1f0f02d459845b96d8c0250c1653b19df1fff
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/rest/ResourceClient.java
@@ -0,0 +1,49 @@
+package rest;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.sun.jersey.api.client.ClientResponse;
+import org.json.JSONObject;
+import rest.models.DomainModel;
+import rest.models.GroupModel;
+import rest.models.MemberModel;
+import rest.models.ResourceModel;
+import utils.TestRunData;
+
+/**
+ * Rest client for group actions
+ */
+public class ResourceClient extends BaseRestClient {
+    public ResourceModel createResourceForGroup(DomainModel domainModel, GroupModel groupModel, ResourceModel resourceModelToBeCreated) {
+        JSONObject resourceJson = new JSONObject(resourceModelToBeCreated);
+        String createResourcePath = RestServicePaths.getCreateResourcePath(TestRunData.getInstance().getUserId(), domainModel.getDomainId(), groupModel.getGroupId());
+        ClientResponse response = jsonPUT(resource.path(createResourcePath), resourceJson);
+        if (response.getStatus() != 200) {
+            try {
+                throw new SMPRestException("Could not create resource!", response);
+            } catch (SMPRestException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        log.debug("Resource have been added!");
+        return response.getEntity(ResourceModel.class);
+    }
+
+    public MemberModel addMembersToResource(DomainModel domainModel, GroupModel groupModel, ResourceModel resourceModel, MemberModel groupMember) throws JsonProcessingException {
+        ObjectMapper mapper = new ObjectMapper();
+        String membersJson = mapper.writeValueAsString(groupMember);
+
+        String addGroupMemberPath = RestServicePaths.getResourceAddMemberPath(TestRunData.getInstance().getUserId(), domainModel.getDomainId(), groupModel.getGroupId(), resourceModel.getResourceId());
+
+        ClientResponse response = jsonPUT(resource.path(addGroupMemberPath), membersJson);
+        if (response.getStatus() != 200) {
+            try {
+                throw new SMPRestException("Could not add members to resource", response);
+            } catch (SMPRestException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        log.debug("Member: " + groupMember.getUsername() + " has been added!");
+        return response.getEntity(MemberModel.class);
+    }
+}
diff --git a/domiSMP-ui-tests/src/main/java/rest/RestServicePaths.java b/domiSMP-ui-tests/src/main/java/rest/RestServicePaths.java
index 32058cae93426412e46a6f7725c35423e248aa8a..f5a0192113d3e35505a2c930f97a96f682dd7451 100644
--- a/domiSMP-ui-tests/src/main/java/rest/RestServicePaths.java
+++ b/domiSMP-ui-tests/src/main/java/rest/RestServicePaths.java
@@ -52,4 +52,16 @@ public class RestServicePaths {
         return CONTEXT_PATH_EDIT + currentUserId + "/domain/" + domainId + "/group/" + groupId + "/member/put";
     }
 
+    //Resources
+
+    public static String getCreateResourcePath(String currentUserId, String domainId, String groupId) {
+
+        return CONTEXT_PATH_EDIT + currentUserId + "/domain/" + domainId + "/group/" + groupId + "/resource/create";
+    }
+
+    public static String getResourceAddMemberPath(String currentUserId, String domainId, String groupId, String resourceId) {
+
+        return CONTEXT_PATH_EDIT + currentUserId + "/domain/" + domainId + "/group/" + groupId + "/resource/" + resourceId + "/member/put";
+    }
+
 }
diff --git a/domiSMP-ui-tests/src/main/java/rest/models/DocumentModel.java b/domiSMP-ui-tests/src/main/java/rest/models/DocumentModel.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab6b893f686dfd454fe4ce73d2689bcf8517b310
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/rest/models/DocumentModel.java
@@ -0,0 +1,74 @@
+
+package rest.models;
+
+import java.util.List;
+
+/**
+ * Data object for Document used in Subresource.
+ */
+public class DocumentModel {
+    private List<Long> allVersions;
+    private Long currentResourceVersion;
+    private Object documentId;
+    private String mimeType;
+    private String name;
+    private String payload;
+    private Long payloadVersion;
+
+    public List<Long> getAllVersions() {
+        return allVersions;
+    }
+
+    public void setAllVersions(List<Long> allVersions) {
+        this.allVersions = allVersions;
+    }
+
+    public Long getCurrentResourceVersion() {
+        return currentResourceVersion;
+    }
+
+    public void setCurrentResourceVersion(Long currentResourceVersion) {
+        this.currentResourceVersion = currentResourceVersion;
+    }
+
+    public Object getDocumentId() {
+        return documentId;
+    }
+
+    public void setDocumentId(Object documentId) {
+        this.documentId = documentId;
+    }
+
+    public String getMimeType() {
+        return mimeType;
+    }
+
+    public void setMimeType(String mimeType) {
+        this.mimeType = mimeType;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getPayload() {
+        return payload;
+    }
+
+    public void setPayload(String payload) {
+        this.payload = payload;
+    }
+
+    public Long getPayloadVersion() {
+        return payloadVersion;
+    }
+
+    public void setPayloadVersion(Long payloadVersion) {
+        this.payloadVersion = payloadVersion;
+    }
+
+}
diff --git a/domiSMP-ui-tests/src/main/java/rest/models/DomainModel.java b/domiSMP-ui-tests/src/main/java/rest/models/DomainModel.java
index f6173cbef632199979734da5056d06dbaaa68613..79029dc571fa748e89e8f6f16e314fd7c85f5a46 100644
--- a/domiSMP-ui-tests/src/main/java/rest/models/DomainModel.java
+++ b/domiSMP-ui-tests/src/main/java/rest/models/DomainModel.java
@@ -10,6 +10,9 @@ import java.util.List;
 import static ddsl.enums.ResponseCertificates.SMP_DOMAIN_01;
 import static ddsl.enums.ResponseCertificates.SMP_DOMAIN_02;
 
+/**
+ * Data model for Domain used for generating domains, mapping domain rest calls.
+ */
 public class DomainModel {
 
     private String smlSmpId;
diff --git a/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java b/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java
index 119fb50a7c9bfb9db8fa697ac3335c30d7f64d11..37213ee3e2c52181eb729c859c54abad04e0723f 100644
--- a/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java
+++ b/domiSMP-ui-tests/src/main/java/rest/models/ResourceModel.java
@@ -85,4 +85,16 @@ public class ResourceModel {
     public void setVisibility(String visibility) {
         this.visibility = visibility;
     }
+
+    public static ResourceModel generatePublicResourceUnregisteredToSML() {
+        ResourceModel resourceModel = new ResourceModel();
+        resourceModel.identifierScheme = StringUtils.lowerCase(Generator.randomAlphabeticalValue(3) + "-" + Generator.randomAlphaNumericValue(3) + "-" + Generator.randomAlphaNumericValue(3));
+        resourceModel.identifierValue = "AUT_resIden_" + Generator.randomAlphaNumericValue(4).toLowerCase();
+        resourceModel.smlRegistered = false;
+        resourceModel.resourceTypeIdentifier = StringUtils.lowerCase(Utils.randomEnum(ResourceTypes.values()).getName());
+        resourceModel.visibility = "PUBLIC";
+        return resourceModel;
+    }
+
+
 }
diff --git a/domiSMP-ui-tests/src/main/java/utils/TestRunData.java b/domiSMP-ui-tests/src/main/java/utils/TestRunData.java
index f07c5094397bdaed3636ce9e556445c76cdc5cab..1a6020274092bf988f5d6f5934b578c0607160c4 100644
--- a/domiSMP-ui-tests/src/main/java/utils/TestRunData.java
+++ b/domiSMP-ui-tests/src/main/java/utils/TestRunData.java
@@ -116,6 +116,11 @@ public class TestRunData {
         this.cookies = cookies;
     }
 
+    public void destroySession() {
+        setUserId(null);
+        getCookies().clear();
+
+    }
     public void setUserId(String userId) {
         this.userId = userId;
     }
diff --git a/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java b/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..07aa3dd2010be6d8c454c8fb0c0dd4ea6facf6b5
--- /dev/null
+++ b/domiSMP-ui-tests/src/main/java/utils/XMLUtils.java
@@ -0,0 +1,60 @@
+package utils;
+
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+
+public class XMLUtils {
+
+    protected final Logger log = LoggerFactory.getLogger(this.getClass());
+
+
+    Document doc;
+
+    public XMLUtils(String xmlStr) throws ParserConfigurationException {
+        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+        try {
+            doc = dBuilder.parse(new InputSource(new StringReader(xmlStr)));
+        } catch (Exception e) {
+            log.error("Error while parsing xml", e);
+        }
+    }
+
+    public String printDoc() throws IOException {
+        OutputFormat format = new OutputFormat(doc);
+        format.setIndenting(false);
+        Writer out = new StringWriter();
+        XMLSerializer serializer = new XMLSerializer(out, format);
+        serializer.serialize(doc);
+        return out.toString();
+    }
+
+    public boolean isNodePresent(String nodeName) {
+        NodeList nList = doc.getElementsByTagName(nodeName);
+        return nList.getLength() != 0;
+    }
+
+//    public boolean isNodeContaingValue(String nodeName) {
+//
+//        NodeList nList = doc.getChildNodes();
+//        for(Integer i=0; i = nList.getLength()){
+//
+//        }
+//
+//
+//    }
+
+}
diff --git a/domiSMP-ui-tests/src/main/resources/keystore/gateway_truststore.zip b/domiSMP-ui-tests/src/main/resources/keystore/gateway_truststore.zip
new file mode 100644
index 0000000000000000000000000000000000000000..7bf6ccc415d499b9e24d1ded0fed3de094a6f0d5
Binary files /dev/null and b/domiSMP-ui-tests/src/main/resources/keystore/gateway_truststore.zip differ
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java
index a3c5b1a99901fa4f8820e2932e15d3f965a96828..b992b13b659d77cc1b94f1cfc3405c4a804af22b 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/DomainsPgTests.java
@@ -34,7 +34,7 @@ public class DomainsPgTests extends SeleniumTest {
 
 
     @Test(description = "DOM-01 System admin is able to create Domains")
-    public void SystemAdminIsAbleToCreateDomains() {
+    public void systemAdminIsAbleToCreateDomains() {
         DomainModel domainModel = DomainModel.generatePublicDomainModelWithoutSML();
 
         domainsPage.getCreateDomainBtn().click();
@@ -52,7 +52,7 @@ public class DomainsPgTests extends SeleniumTest {
 
 
     @Test(description = "DOM-02 System admin can integrates domain with SMP")
-    public void SystemAdminCanIntegrateDomainWithSMP() throws Exception {
+    public void systemAdminCanIntegrateDomainWithSMP() throws Exception {
         DomainModel domainModel = DomainModel.generatePublicDomainModelWithSML();
 
         domainsPage.getCreateDomainBtn().click();
@@ -79,7 +79,7 @@ public class DomainsPgTests extends SeleniumTest {
     }
 
     @Test(description = "DOM-03 System admin is able to Invite/Remove users from domains")
-    public void SystemAdminIsAbleToInviteRemoveUsersFromDomains() throws Exception {
+    public void systemAdminIsAbleToInviteRemoveUsersFromDomains() throws Exception {
         UserModel normalUser = UserModel.generateUserWithUSERrole();
         DomainModel domainModel = DomainModel.generatePublicDomainModelWithoutSML();
 
@@ -146,7 +146,7 @@ public class DomainsPgTests extends SeleniumTest {
     }
 
     @Test(description = "DOM-04 System admin is not able to create duplicated Domains")
-    public void SystemAdminIsNotAbleToCreateDuplicatedDomains() throws Exception {
+    public void systemAdminIsNotAbleToCreateDuplicatedDomains() {
         UserModel normalUser = UserModel.generateUserWithUSERrole();
         DomainModel domainModel = DomainModel.generatePublicDomainModelWithoutSML();
 
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java
index 2c9b6e02d02d56cc3c4d29b8c09408b666db4873..4a3e9b535bacc133f21e69f8bcbcc5118062151f 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditDomainsPgTests.java
@@ -1,11 +1,11 @@
 package domiSMPTests.ui;
 
 import ddsl.DomiSMPPage;
+import ddsl.dcomponents.commonComponents.members.InviteMembersWithGridPopup;
 import ddsl.enums.Pages;
 import domiSMPTests.SeleniumTest;
 import org.openqa.selenium.WebElement;
 import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Ignore;
 import org.testng.annotations.Test;
 import org.testng.asserts.SoftAssert;
 import pages.LoginPage;
@@ -17,12 +17,15 @@ import rest.models.GroupModel;
 import rest.models.MemberModel;
 import rest.models.UserModel;
 
+/**
+ * Test class for Edit domains page tests.
+ */
+
 public class EditDomainsPgTests extends SeleniumTest {
 
     DomiSMPPage homePage;
     LoginPage loginPage;
     EditDomainsPage editDomainPage;
-    String domainId;
     DomainModel domainModel;
     UserModel adminUser;
     SoftAssert soft;
@@ -48,7 +51,7 @@ public class EditDomainsPgTests extends SeleniumTest {
     }
 
     @Test(description = "EDTDOM-01 Domain admins are able to invite/edit/remove members")
-    public void DomainAdminsAreAbleToInviteEditRemoveMembers() throws Exception {
+    public void domainAdminsAreAbleToInviteEditRemoveMembers() {
         UserModel domainMember = UserModel.generateUserWithUSERrole();
         rest.users().createUser(domainMember);
 
@@ -69,9 +72,8 @@ public class EditDomainsPgTests extends SeleniumTest {
         soft.assertAll();
     }
 
-    @Ignore
     @Test(description = "EDTDOM-02 Domain admins are able to create new groups")
-    public void domainAdminsAreAbleToCreate() throws Exception {
+    public void domainAdminsAreAbleToCreate() {
         GroupModel groupToBeCreated = GroupModel.generatePublicGroup();
         editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click();
 
@@ -84,14 +86,19 @@ public class EditDomainsPgTests extends SeleniumTest {
 
         WebElement createGroup = editDomainPage.getGroupTab().getGrid().searchAndGetElementInColumn("Group name", groupToBeCreated.getGroupName());
         soft.assertNotNull(createGroup);
+        createGroup.click();
+        InviteMembersWithGridPopup inviteMembersWithGridPopup = editDomainPage.getGroupTab().clickOnGroupMembersBtn();
+        soft.assertTrue(inviteMembersWithGridPopup.isMemberPresentByUsername(adminUser));
+        inviteMembersWithGridPopup.clickOnCloseBtn();
 
         EditGroupsPage editgroupPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_GROUPS);
+        editgroupPage.selectDomain(domainModel, groupToBeCreated);
         soft.assertAll();
 
     }
 
     @Test(description = "EDTDOM-03 Domain admins are not able to create duplicated groups")
-    public void domainAdminsAreNotAbleToCreateDuplicatedGroups() throws Exception {
+    public void domainAdminsAreNotAbleToCreateDuplicatedGroups() {
         GroupModel duplicatedGroup = GroupModel.generatePublicGroup();
 
         editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click();
@@ -112,7 +119,7 @@ public class EditDomainsPgTests extends SeleniumTest {
     }
 
     @Test(description = "EDTDOM-04 Domain admins are able to delete groups without resources")
-    public void domainAdminsAreNotAbleToDeleteGroups() throws Exception {
+    public void domainAdminsAreNotAbleToDeleteGroups() {
         GroupModel groupToBeDeleted = GroupModel.generatePublicGroup();
 
         editDomainPage.getLeftSideGrid().searchAndGetElementInColumn("Domain code", domainModel.getDomainCode()).click();
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditGroupsPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditGroupsPgTests.java
index 06f35f31d8ad96495f539df7959c8d87442d6d18..0979b64d3fdd282335d0abb5ed83e2c03030a748 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditGroupsPgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditGroupsPgTests.java
@@ -11,6 +11,7 @@ import pages.LoginPage;
 import pages.administration.editGroupsPage.CreateResourceDetailsDialog;
 import pages.administration.editGroupsPage.EditGroupsPage;
 import rest.models.*;
+import utils.TestRunData;
 
 import java.util.Arrays;
 import java.util.List;
@@ -36,7 +37,7 @@ public class EditGroupsPgTests extends SeleniumTest {
         adminMember.setRoleType("ADMIN");
 
         MemberModel superMember = new MemberModel();
-        superMember.setUsername(data.getAdminUsername());
+        superMember.setUsername(TestRunData.getInstance().getAdminUsername());
         superMember.setRoleType("ADMIN");
 
         //create user
@@ -62,7 +63,7 @@ public class EditGroupsPgTests extends SeleniumTest {
 
         homePage = new DomiSMPPage(driver);
         loginPage = homePage.goToLoginPage();
-        loginPage.login(adminUser.getUsername(), data.getNewPassword());
+        loginPage.login(adminUser.getUsername(), TestRunData.getInstance().getNewPassword());
         editGroupPage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_GROUPS);
     }
 
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java
new file mode 100644
index 0000000000000000000000000000000000000000..b980fb1491d8d4c78c5b4c823f4a81ac16a7e311
--- /dev/null
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/EditResourcePgTests.java
@@ -0,0 +1,213 @@
+package domiSMPTests.ui;
+
+import ddsl.DomiSMPPage;
+import ddsl.enums.Pages;
+import ddsl.enums.ResourceTypes;
+import domiSMPTests.SeleniumTest;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Ignore;
+import org.testng.annotations.Test;
+import org.testng.asserts.SoftAssert;
+import pages.LoginPage;
+import pages.administration.editResourcesPage.EditResourceDocumentPage;
+import pages.administration.editResourcesPage.EditResourcePage;
+import rest.models.*;
+import utils.TestRunData;
+import utils.XMLUtils;
+
+import javax.xml.parsers.ParserConfigurationException;
+import java.util.Arrays;
+import java.util.List;
+
+public class EditResourcePgTests extends SeleniumTest {
+    DomiSMPPage homePage;
+    LoginPage loginPage;
+    EditResourcePage editResourcePage;
+    UserModel adminUser;
+    DomainModel domainModel;
+    GroupModel groupModel;
+    ResourceModel resourceModel;
+    SoftAssert soft;
+
+    MemberModel adminMember;
+
+    @BeforeMethod(alwaysRun = true)
+    public void beforeTest() throws Exception {
+        soft = new SoftAssert();
+        domainModel = DomainModel.generatePublicDomainModelWithSML();
+        adminUser = UserModel.generateUserWithADMINrole();
+        groupModel = GroupModel.generatePublicGroup();
+        resourceModel = ResourceModel.generatePublicResourceUnregisteredToSML();
+
+        adminMember = new MemberModel() {
+        };
+        adminMember.setUsername(adminUser.getUsername());
+        adminMember.setRoleType("ADMIN");
+
+        MemberModel superMember = new MemberModel();
+        superMember.setUsername(TestRunData.getInstance().getAdminUsername());
+        superMember.setRoleType("ADMIN");
+
+        //create user
+        rest.users().createUser(adminUser).getString("userId");
+
+        //create domain
+        domainModel = rest.domains().createDomain(domainModel);
+
+        //add users to domain
+        rest.domains().addMembersToDomain(domainModel, adminMember);
+        rest.domains().addMembersToDomain(domainModel, superMember);
+
+        //add resources to domain
+        List<ResourceTypes> resourcesToBeAdded = Arrays.asList(ResourceTypes.OASIS1, ResourceTypes.OASIS3, ResourceTypes.OASIS2);
+        domainModel = rest.domains().addResourcesToDomain(domainModel, resourcesToBeAdded);
+
+        //create group for domain
+        groupModel = rest.domains().createGroupForDomain(domainModel, groupModel);
+
+        //add users to groups
+        rest.groups().addMembersToGroup(domainModel, groupModel, adminMember);
+
+        //add resource to group
+        resourceModel = rest.resources().createResourceForGroup(domainModel, groupModel, resourceModel);
+        rest.resources().addMembersToResource(domainModel, groupModel, resourceModel, adminMember);
+
+
+        homePage = new DomiSMPPage(driver);
+        loginPage = homePage.goToLoginPage();
+        loginPage.login(adminUser.getUsername(), TestRunData.getInstance().getNewPassword());
+        editResourcePage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_RESOURCES);
+    }
+
+    @Test(description = "EDTRES-01 Resource admins are able to invite/edit/remove resource members")
+    public void resourceAdminsAreAbleToInviteEditRemoveMembers() {
+
+        UserModel domainMember = UserModel.generateUserWithUSERrole();
+        rest.users().createUser(domainMember);
+
+        editResourcePage.selectDomain(domainModel, groupModel, resourceModel);
+        editResourcePage.goToTab("Members");
+        //Add user
+        editResourcePage.getResourceMembersTab().getInviteMemberBtn().click();
+        editResourcePage.getResourceMembersTab().getInviteMembersPopup().selectMember(domainMember.getUsername(), "VIEWER");
+        soft.assertTrue(editResourcePage.getResourceMembersTab().getMembersGrid().isValuePresentInColumn("Username", domainMember.getUsername()));
+
+        //Change role of user
+        editResourcePage.getResourceMembersTab().changeRoleOfUser(domainMember.getUsername(), "ADMIN");
+        String currentRoleTypeOfuser = editResourcePage.getResourceMembersTab().getMembersGrid().getColumnValueForSpecificRow("Username", domainMember.getUsername(), "Role type");
+        soft.assertEquals(currentRoleTypeOfuser, "ADMIN");
+
+        //Remove user
+        editResourcePage.getResourceMembersTab().removeUser(domainMember.getUsername());
+        soft.assertFalse(editResourcePage.getResourceMembersTab().getMembersGrid().isValuePresentInColumn("Username", domainMember.getUsername()));
+
+        soft.assertAll();
+    }
+
+    @Test(description = "EDTRES-02 Resource admins are to view their resources", priority = 1)
+    public void resourceAdminsAreAbleToViewTheirResources() {
+
+        UserModel domainMember = UserModel.generateUserWithUSERrole();
+        rest.users().createUser(domainMember);
+
+        editResourcePage.selectDomain(domainModel, groupModel, resourceModel);
+        editResourcePage.goToTab("Members");
+        //Add user
+        editResourcePage.getResourceMembersTab().getInviteMemberBtn().click();
+        editResourcePage.getResourceMembersTab().getInviteMembersPopup().selectMember(domainMember.getUsername(), "VIEWER");
+        soft.assertTrue(editResourcePage.getResourceMembersTab().getMembersGrid().isValuePresentInColumn("Username", domainMember.getUsername()));
+    }
+
+    @Test(description = "EDTRES-03 Resource admins are able to add generated document", priority = 1)
+    public void resourceAdminsAreAbleToAddGeneratedDocument() throws Exception {
+
+        //Generate resource Oasis 3
+        ResourceModel resourceModelOasis3 = ResourceModel.generatePublicResourceUnregisteredToSML();
+        resourceModelOasis3.setResourceTypeIdentifier(ResourceTypes.OASIS3.getName());
+        resourceModelOasis3 = rest.resources().createResourceForGroup(domainModel, groupModel, resourceModelOasis3);
+        rest.resources().addMembersToResource(domainModel, groupModel, resourceModelOasis3, adminMember);
+
+        editResourcePage.refreshPage();
+        editResourcePage.selectDomain(domainModel, groupModel, resourceModelOasis3);
+        editResourcePage.goToTab("Resource details");
+        EditResourceDocumentPage editResourceDocumentPage = editResourcePage.getResourceDetailsTab().clickOnEditDocument();
+        editResourceDocumentPage.clickOnGenerate();
+        editResourceDocumentPage.clickOnSave();
+        editResourceDocumentPage.getAlertArea().closeAlert();
+
+        String currentGeneratedValue = editResourceDocumentPage.getDocumentValue();
+
+        editResourceDocumentPage.clickOnValidate();
+        soft.assertEquals(editResourceDocumentPage.getAlertArea().getAlertMessage(), "Document is Valid.", "Generated document is not valid");
+
+        soft.assertNotNull(currentGeneratedValue, "Document is empty");
+        XMLUtils documentXML = new XMLUtils(currentGeneratedValue);
+        soft.assertTrue(documentXML.isNodePresent("CPP"), "Node is not present in generated document");
+
+        editResourcePage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_RESOURCES);
+
+        //Generate resource Oasis 2
+        ResourceModel resourceModelOasis2 = ResourceModel.generatePublicResourceUnregisteredToSML();
+        resourceModelOasis2.setResourceTypeIdentifier(ResourceTypes.OASIS2.getName());
+        resourceModelOasis2 = rest.resources().createResourceForGroup(domainModel, groupModel, resourceModelOasis2);
+        rest.resources().addMembersToResource(domainModel, groupModel, resourceModelOasis2, adminMember);
+
+        editResourcePage.refreshPage();
+        editResourcePage.selectDomain(domainModel, groupModel, resourceModelOasis2);
+        editResourcePage.goToTab("Resource details");
+        editResourceDocumentPage = editResourcePage.getResourceDetailsTab().clickOnEditDocument();
+        editResourceDocumentPage.clickOnGenerate();
+        editResourceDocumentPage.clickOnSave();
+        editResourceDocumentPage.getAlertArea().closeAlert();
+        String oasis2GeneratedDocumentValue = editResourceDocumentPage.getDocumentValue();
+
+        editResourceDocumentPage.clickOnValidate();
+
+        soft.assertEquals(editResourceDocumentPage.getAlertArea().getAlertMessage(), "Document is Valid.", "Generated document is not valid");
+        soft.assertNotNull(oasis2GeneratedDocumentValue, "Document is empty");
+        XMLUtils oasis2DocumentXML = new XMLUtils(oasis2GeneratedDocumentValue);
+        soft.assertTrue(oasis2DocumentXML.isNodePresent("ns5:ServiceGroup"), " Service group Node is not present in generated document");
+
+        //Generate resource Oasis 3
+        ResourceModel resourceModelOasis1 = ResourceModel.generatePublicResourceUnregisteredToSML();
+        resourceModelOasis1.setResourceTypeIdentifier(ResourceTypes.OASIS1.getName());
+        resourceModelOasis1 = rest.resources().createResourceForGroup(domainModel, groupModel, resourceModelOasis1);
+        rest.resources().addMembersToResource(domainModel, groupModel, resourceModelOasis1, adminMember);
+
+        editResourcePage = homePage.getSidebar().navigateTo(Pages.ADMINISTRATION_EDIT_RESOURCES);
+        editResourcePage.refreshPage();
+        editResourcePage.selectDomain(domainModel, groupModel, resourceModelOasis1);
+        editResourcePage.goToTab("Resource details");
+        editResourceDocumentPage = editResourcePage.getResourceDetailsTab().clickOnEditDocument();
+        editResourceDocumentPage.clickOnGenerate();
+        editResourceDocumentPage.clickOnSave();
+        editResourceDocumentPage.getAlertArea().closeAlert();
+
+
+        String oasis1GeneratedDocumentValue = editResourceDocumentPage.getDocumentValue();
+
+        editResourceDocumentPage.clickOnValidate();
+
+        soft.assertEquals(editResourceDocumentPage.getAlertArea().getAlertMessage(), "Document is Valid.", "Generated document is not valid");
+        soft.assertNotNull(oasis1GeneratedDocumentValue, "Document is empty");
+        XMLUtils oasis1DocumentXML = new XMLUtils(oasis1GeneratedDocumentValue);
+        soft.assertTrue(oasis1DocumentXML.isNodePresent("ServiceGroup"), " Service group Node is not present in generated document");
+        soft.assertAll();
+    }
+
+    @Ignore //TODO: continue test with select version
+    @Test(description = "EDTRES-04 Resource admins are able to add generated document", priority = 1)
+    public void resourceAdminsAreAbleToAddGeneratedDocument2() throws ParserConfigurationException {
+
+        editResourcePage.goToTab("Resource details");
+        EditResourceDocumentPage editResourceDocumentPage = editResourcePage.getResourceDetailsTab().clickOnEditDocument();
+        editResourceDocumentPage.clickOnGenerate();
+        editResourceDocumentPage.clickOnSave();
+        editResourceDocumentPage.getAlertArea().closeAlert();
+        XMLUtils document1 = new XMLUtils(editResourceDocumentPage.getDocumentValue());
+
+    }
+}
+
+
+
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java
index cf9eb0bed6da8bdde1c54bbbb99b9633945c08cb..d0e07c87184abb1d7c8f0a89ab96d930b1eeb5bf 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/KeystorePgTests.java
@@ -73,7 +73,7 @@ public class KeystorePgTests extends SeleniumTest {
         soft.assertAll();
     }
 
-    @Test(description = "KEYS-03 SSystem admin is able to import duplicated keystore", priority = 1)
+    @Test(description = "KEYS-04 SSystem admin is able to import duplicated keystore", priority = 1)
     public void systemAdminIsAbleToImportDuplicatedKeyStores() throws Exception {
         String path = FileUtils.getAbsoluteKeystorePath("valid_keystore.jks");
 
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java
index e01db86f744405a79c0db5bdceb9081e427146db..cd3c6d203c11407aabca8d9f17220b344a02720c 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/ProfilePgTests.java
@@ -149,7 +149,6 @@ public class ProfilePgTests extends SeleniumTest {
         String oldLastSet = profilePage.profileData.getLastSetValue();
         String oldPasswordExpiresOn = profilePage.profileData.getPasswordExpiresOnValue();
 
-        //profilePage.profileData.setChangePasswordBtn.click();
         String newPass = "Edeltest!23456789Edelt" + Generator.randomAlphaNumericValue(4);
         SetChangePasswordDialog setChangePasswordDialog = profilePage.profileData.clickOnChangePassword();
         setChangePasswordDialog.fillChangePassword(data.getNewPassword(), newPass);
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java
index 598506a70542a05cf6aa5c408e9ae70ac5db0c15..4df7fc19e831db0039ffd6f20e53dc2e3c160ea7 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/PropertiesPgTests.java
@@ -53,7 +53,7 @@ public class PropertiesPgTests extends SeleniumTest {
         soft.assertAll();
     }
 
-    @Test(description = "PRP-5 Value is validated according to expected format (URL")
+    @Test(description = "PRP-5 Value is validated according to expected format (URL)", priority = 4)
     public void propertyValueURLIsValidatedAccordingToExpectedFormat() throws Exception {
 
         String property = "bdmsl.integration.url";
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java
index 2135517feddb219107802ce54d0e3c96d12c08ba..f75eb69091a06a734dc7af7dda7de4291a5cee7a 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/TrustorePgTests.java
@@ -13,7 +13,7 @@ public class TrustorePgTests extends SeleniumTest {
 
 
     @Test(description = "TRST-01 System admin is able to import certificates")
-    public void SystemAdminIsAbleToImportCertificates() throws Exception {
+    public void systemAdminIsAbleToImportCertificates() throws Exception {
 
         SoftAssert soft = new SoftAssert();
         DomiSMPPage homePage = new DomiSMPPage(driver);
@@ -34,11 +34,7 @@ public class TrustorePgTests extends SeleniumTest {
         soft.assertEquals(truststorepage.getValidToValue(), "22/3/2033, 10:49:22");
         soft.assertEquals(truststorepage.getIssuerValue(), "C=BE,O=eDelivery,CN=red_gw");
         soft.assertEquals(truststorepage.getSerialNumberValue(), "110fa0d8");
-
-
         soft.assertAll();
-
-
     }
 
     @Test(description = "TRST-02 System admin is able to import certificates")
@@ -60,10 +56,8 @@ public class TrustorePgTests extends SeleniumTest {
         String duplicatedCertificateALias = truststorepage.addCertificateAndReturnAlias(path);
         soft.assertNotNull(duplicatedCertificateALias);
         soft.assertTrue(truststorepage.getLeftSideGrid().isValuePresentInColumn("Alias", duplicatedCertificateALias));
-
         soft.assertAll();
 
-
     }
 
 }
diff --git a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java
index b122295e7e09b2781661265d3482e7c05b5dcd15..8301f79754c6e7f885fb2c64cbc3c29c35fae67f 100644
--- a/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java
+++ b/domiSMP-ui-tests/src/test/java/domiSMPTests/ui/UsersPgTests.java
@@ -51,7 +51,7 @@ public class UsersPgTests extends SeleniumTest {
 
     }
 
-    @Test(description = "USR-02 USR-02 System admin is not able to create duplicated user")
+    @Test(description = "USR-02 System admin is not able to create duplicated user")
     public void systemAdminIsNotAbleToCreateDuplicatedUser() throws Exception {
 
         loginPage.login(data.getAdminUser().get("username"), data.getAdminUser().get("password"));