From f791975b8cccc02854b4dbb0c2bd71f0208d232c Mon Sep 17 00:00:00 2001 From: maheswaras Date: Tue, 10 Feb 2026 10:54:15 +0530 Subject: [PATCH 1/5] MOSIP-44178:Update dashboard positive flow testcases Signed-off-by: maheswaras --- .../regclient/androidTestCases/LoginTest.java | 2 + .../main/java/regclient/page/BasePage.java | 18 +++++++ .../java/regclient/page/DashboardPage.java | 4 ++ .../pages/arabic/DashboardPageArabic.java | 37 ++++++++++++++ .../pages/english/DashboardPageEnglish.java | 51 +++++++++++++++++++ .../pages/french/DashboardPageFrench.java | 43 ++++++++++++++-- .../pages/french/LoginPageFrench.java | 34 +++++++++++++ .../pages/hindi/DashboardPageHindi.java | 36 +++++++++++++ .../pages/kannada/DashboardPageKannada.java | 34 +++++++++++++ .../pages/tamil/DashboardPageTamil.java | 36 +++++++++++++ 10 files changed, 292 insertions(+), 3 deletions(-) diff --git a/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java b/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java index 0e418c8fd..2ab3de32e 100644 --- a/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java +++ b/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java @@ -208,6 +208,8 @@ public void userloginTest() { assertTrue(dashboardPage.isUserIDDisplayed(), "Verify if user ID displayed"); assertTrue(dashboardPage.isUserNameDisplayed(), "Verify if user name displayed"); assertTrue(dashboardPage.isStatusTitleDisplayed(), "Verify if status displayed"); + dashboardPage.logPacketCounts(); + assertTrue(dashboardPage.isLoginUserActive(), "Verify if dashboard page is loaded"); assertTrue(registrationTasksPage.isProfileTitleDisplayed(), "Verify if profile title display on homepage"); registrationTasksPage.clickProfileButton(); diff --git a/ui-test/src/main/java/regclient/page/BasePage.java b/ui-test/src/main/java/regclient/page/BasePage.java index 3201919e3..a3224839f 100644 --- a/ui-test/src/main/java/regclient/page/BasePage.java +++ b/ui-test/src/main/java/regclient/page/BasePage.java @@ -909,4 +909,22 @@ protected void waitForElementToBeVisible(By locator, int waitTime) { WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(waitTime)); wait.until(ExpectedConditions.visibilityOfElementLocated(locator)); } + + protected boolean isValuePresentInTable(WebElement tableElement,String rowIdentifier,int valueLineOffset,String expectedValue) { + String tableData = getVisibleValue(tableElement); + if (tableData == null || tableData.isEmpty()) { + return false; + } + String[] lines = tableData.split("\\R"); + for (int i = 0; i < lines.length; i++) { + if (lines[i].trim().equals(rowIdentifier)) { + int valueIndex = i + valueLineOffset; + if (valueIndex < lines.length) { + String actualValue = lines[valueIndex].trim(); + return actualValue.toLowerCase().contains(expectedValue); + } + } + } + return false; + } } diff --git a/ui-test/src/main/java/regclient/page/DashboardPage.java b/ui-test/src/main/java/regclient/page/DashboardPage.java index be5943819..aaece5cf0 100644 --- a/ui-test/src/main/java/regclient/page/DashboardPage.java +++ b/ui-test/src/main/java/regclient/page/DashboardPage.java @@ -19,4 +19,8 @@ public DashboardPage(AppiumDriver driver) { public abstract boolean isUserNameDisplayed(); public abstract boolean isStatusTitleDisplayed(); + + public abstract void logPacketCounts(); + + public abstract boolean isLoginUserActive(); } diff --git a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java index 3867510d6..c9f40e832 100644 --- a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java +++ b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java @@ -1,18 +1,27 @@ package regclient.pages.arabic; +import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; +import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import regclient.pages.french.DashboardPageFrench; +import regclient.pages.english.DashboardPageEnglish; public class DashboardPageArabic extends DashboardPage { + + private static final Logger logger = Logger.getLogger(DashboardPageArabic.class); @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"لوحة القيادة\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"لوحة القيادة\"]/following-sibling::android.view.View[2]") private WebElement packetSyncedNumber; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"لوحة القيادة\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; @AndroidFindBy(accessibility = "لوحة القيادة") private WebElement dashboardPageTitle; @@ -25,6 +34,9 @@ public class DashboardPageArabic extends DashboardPage { @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc, 'الحالة')]") private WebElement statusTitle; + + @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc,'المستخدمين')]") + private WebElement userTable; public DashboardPageArabic(AppiumDriver driver) { super(driver); @@ -54,4 +66,29 @@ public boolean isStatusTitleDisplayed() { return isElementDisplayed(statusTitle); } + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } + + public boolean isLoginUserActive() { + return isValuePresentInTable(userTable, KeycloakUserManager.moduleSpecificUser,2,"active"); + } + } diff --git a/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java b/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java index e3c11b550..4b8b1cf87 100644 --- a/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java +++ b/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java @@ -4,15 +4,37 @@ import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; +import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; + +import org.apache.log4j.Logger; + + public class DashboardPageEnglish extends DashboardPage { + + private static final Logger logger = Logger.getLogger(DashboardPageEnglish.class); + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[2]") private WebElement packetSyncedNumber; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; + + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Packets Uploaded\"]") + private WebElement packetUploadedLabel; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Packets Synced\"]") + private WebElement packetSyncedLabel; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Packets Created\"]") + private WebElement packetCreatedLabel; + @AndroidFindBy(accessibility = "Dashboard") private WebElement dashboardPageTitle; @@ -25,6 +47,9 @@ public class DashboardPageEnglish extends DashboardPage { @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc, \"Status\")]") private WebElement statusTitle; + + @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc,'User ID')]") + private WebElement userTable; public DashboardPageEnglish(AppiumDriver driver) { super(driver); @@ -53,4 +78,30 @@ public boolean isUserNameDisplayed() { public boolean isStatusTitleDisplayed() { return isElementDisplayed(statusTitle); } + + + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } + + public boolean isLoginUserActive() { + return isValuePresentInTable(userTable, KeycloakUserManager.moduleSpecificUser,2,"active"); + } } diff --git a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java index 326c594d3..d5494b8b6 100644 --- a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java @@ -1,18 +1,27 @@ package regclient.pages.french; +import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; +import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import regclient.pages.english.DashboardPageEnglish; public class DashboardPageFrench extends DashboardPage { - - @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") + + + private static final Logger logger = Logger.getLogger(DashboardPageFrench.class); + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; - @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[2]") + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[2]") private WebElement packetSyncedNumber; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; @AndroidFindBy(accessibility = "Tableau de bord") private WebElement dashboardPageTitle; @@ -26,6 +35,9 @@ public class DashboardPageFrench extends DashboardPage { @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc, \"Statut\")]") private WebElement statusTitle; + @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc,'Utilisatrices')]") + private WebElement userTable; + public DashboardPageFrench(AppiumDriver driver) { super(driver); } @@ -53,4 +65,29 @@ public boolean isUserNameDisplayed() { public boolean isStatusTitleDisplayed() { return isElementDisplayed(statusTitle); } + + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } + + public boolean isLoginUserActive() { + return isValuePresentInTable(userTable, KeycloakUserManager.moduleSpecificUser,2,"active"); + } } diff --git a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java index 300c59b09..47f5ccef1 100644 --- a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java @@ -2,18 +2,31 @@ import java.time.Duration; +import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.page.LoginPage; import regclient.page.RegistrationTasksPage; +import regclient.pages.english.DashboardPageEnglish; public class LoginPageFrench extends LoginPage { + private static final Logger logger = Logger.getLogger(DashboardPageEnglish.class); + public LoginPageFrench(AppiumDriver driver) { super(driver); } + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[3]") + private WebElement packetUploadedNumber; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[2]") + private WebElement packetSyncedNumber; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; @AndroidFindBy(uiAutomator = "UiSelector().className(\"android.widget.ImageView\").instance(1)") private WebElement mosipLogo; @@ -144,4 +157,25 @@ public void selectLanguage() { public void clickOnSkipToHomeButton() { clickOnElement(skipToHomeButton); } + + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } } diff --git a/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java b/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java index f3b540182..da373563f 100644 --- a/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java +++ b/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java @@ -1,18 +1,26 @@ package regclient.pages.hindi; +import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; +import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import regclient.pages.english.DashboardPageEnglish; public class DashboardPageHindi extends DashboardPage { + + private static final Logger logger = Logger.getLogger(DashboardPageHindi.class); @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[2]") private WebElement packetSyncedNumber; + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; @AndroidFindBy(accessibility = "Tableau de bord") private WebElement dashboardPageTitle; @@ -25,6 +33,9 @@ public class DashboardPageHindi extends DashboardPage { @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc, \"Statut\")]") private WebElement statusTitle; + + @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc,'User ID')]") + private WebElement userTable; public DashboardPageHindi(AppiumDriver driver) { super(driver); @@ -53,5 +64,30 @@ public boolean isUserNameDisplayed() { public boolean isStatusTitleDisplayed() { return isElementDisplayed(statusTitle); } + + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } + + public boolean isLoginUserActive() { + return isValuePresentInTable(userTable, KeycloakUserManager.moduleSpecificUser,2,"active"); + } } diff --git a/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java b/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java index c878e77c1..d2f8a49b1 100644 --- a/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java +++ b/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java @@ -1,12 +1,18 @@ package regclient.pages.kannada; +import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; +import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; public class DashboardPageKannada extends DashboardPage { + private static final Logger logger = Logger.getLogger(DashboardPageKannada.class); + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; @@ -25,6 +31,9 @@ public class DashboardPageKannada extends DashboardPage { @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc, \"Status\")]") private WebElement statusTitle; + + @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc,'User ID')]") + private WebElement userTable; public DashboardPageKannada(AppiumDriver driver) { super(driver); @@ -53,5 +62,30 @@ public boolean isUserNameDisplayed() { public boolean isStatusTitleDisplayed() { return isElementDisplayed(statusTitle); } + + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } + + public boolean isLoginUserActive() { + return isValuePresentInTable(userTable, KeycloakUserManager.moduleSpecificUser,2,"active"); + } } diff --git a/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java b/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java index 0f6a43b3e..caebd42eb 100644 --- a/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java +++ b/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java @@ -1,19 +1,27 @@ package regclient.pages.tamil; +import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; +import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; public class DashboardPageTamil extends DashboardPage{ + private static final Logger logger = Logger.getLogger(DashboardPageTamil.class); + + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[2]") private WebElement packetSyncedNumber; + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[1]") + private WebElement packetCreatedNumber; + @AndroidFindBy(accessibility = "Dashboard") private WebElement dashboardPageTitle; @@ -26,6 +34,9 @@ public class DashboardPageTamil extends DashboardPage{ @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc, \"Status\")]") private WebElement statusTitle; + @AndroidFindBy(xpath = "//android.view.View[contains(@content-desc,'User ID')]") + private WebElement userTable; + public DashboardPageTamil(AppiumDriver driver) { super(driver); } @@ -53,5 +64,30 @@ public boolean isUserNameDisplayed() { public boolean isStatusTitleDisplayed() { return isElementDisplayed(statusTitle); } + + public String getPacketsCreatedCount() { + return getVisibleValue(packetCreatedNumber); + } + + public String getPacketsSyncedCount() { + return getVisibleValue(packetSyncedNumber); + } + + public String getPacketsUploadedCount() { + return getVisibleValue(packetUploadedNumber); + } + + public void logPacketCounts() { + String created = getPacketsCreatedCount(); + String synced = getPacketsSyncedCount(); + String uploaded = getPacketsUploadedCount(); + logger.info("No. of Packets Created : " + created); + logger.info("No. of Packets Synced : " + synced); + logger.info("No. of Packets Uploaded : " + uploaded); + } + + public boolean isLoginUserActive() { + return isValuePresentInTable(userTable, KeycloakUserManager.moduleSpecificUser,2,"active"); + } } From 3692895ea9d82f2bedf197a2ee658ac6668b5cce Mon Sep 17 00:00:00 2001 From: maheswaras Date: Tue, 10 Feb 2026 11:03:50 +0530 Subject: [PATCH 2/5] MOSIP-44178:Update dashboard positive flow testcases Signed-off-by: maheswaras --- .../main/java/regclient/pages/arabic/DashboardPageArabic.java | 2 -- .../main/java/regclient/pages/french/DashboardPageFrench.java | 1 - .../src/main/java/regclient/pages/french/LoginPageFrench.java | 3 +-- .../main/java/regclient/pages/hindi/DashboardPageHindi.java | 1 - 4 files changed, 1 insertion(+), 6 deletions(-) diff --git a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java index c9f40e832..430629dbd 100644 --- a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java +++ b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java @@ -7,8 +7,6 @@ import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; -import regclient.pages.french.DashboardPageFrench; -import regclient.pages.english.DashboardPageEnglish; public class DashboardPageArabic extends DashboardPage { diff --git a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java index d5494b8b6..468358f04 100644 --- a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java @@ -7,7 +7,6 @@ import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; -import regclient.pages.english.DashboardPageEnglish; public class DashboardPageFrench extends DashboardPage { diff --git a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java index 47f5ccef1..325ee304f 100644 --- a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java @@ -9,10 +9,9 @@ import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.page.LoginPage; import regclient.page.RegistrationTasksPage; -import regclient.pages.english.DashboardPageEnglish; public class LoginPageFrench extends LoginPage { - private static final Logger logger = Logger.getLogger(DashboardPageEnglish.class); + private static final Logger logger = Logger.getLogger(LoginPageFrench.class); public LoginPageFrench(AppiumDriver driver) { diff --git a/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java b/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java index da373563f..76e118a23 100644 --- a/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java +++ b/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java @@ -7,7 +7,6 @@ import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; -import regclient.pages.english.DashboardPageEnglish; public class DashboardPageHindi extends DashboardPage { From ae232f926fdcd8af16aca18abea2917359586675 Mon Sep 17 00:00:00 2001 From: maheswaras Date: Tue, 10 Feb 2026 11:21:35 +0530 Subject: [PATCH 3/5] MOSIP-44178:Update dashboard positive flow testcases Signed-off-by: maheswaras --- ui-test/src/main/java/regclient/androidTestCases/LoginTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java b/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java index 2ab3de32e..9f83e1011 100644 --- a/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java +++ b/ui-test/src/main/java/regclient/androidTestCases/LoginTest.java @@ -209,7 +209,7 @@ public void userloginTest() { assertTrue(dashboardPage.isUserNameDisplayed(), "Verify if user name displayed"); assertTrue(dashboardPage.isStatusTitleDisplayed(), "Verify if status displayed"); dashboardPage.logPacketCounts(); - assertTrue(dashboardPage.isLoginUserActive(), "Verify if dashboard page is loaded"); + assertTrue(dashboardPage.isLoginUserActive(), "Verify if Loggedin user is active"); assertTrue(registrationTasksPage.isProfileTitleDisplayed(), "Verify if profile title display on homepage"); registrationTasksPage.clickProfileButton(); From 4ee6a6405dada5bd9315c6ee0bae14f013035b5d Mon Sep 17 00:00:00 2001 From: maheswaras Date: Tue, 10 Feb 2026 13:11:42 +0530 Subject: [PATCH 4/5] MOSIP-44178:Update dashboard positive flow testcases Signed-off-by: maheswaras --- .../pages/arabic/DashboardPageArabic.java | 8 +++--- .../pages/english/DashboardPageEnglish.java | 9 +++---- .../pages/french/DashboardPageFrench.java | 10 ++++--- .../pages/french/LoginPageFrench.java | 26 +------------------ .../pages/hindi/DashboardPageHindi.java | 9 +++++-- .../pages/kannada/DashboardPageKannada.java | 9 ++++--- .../pages/tamil/DashboardPageTamil.java | 9 ++++--- 7 files changed, 36 insertions(+), 44 deletions(-) diff --git a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java index 430629dbd..c645c4f4e 100644 --- a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java +++ b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java @@ -1,16 +1,18 @@ package regclient.pages.arabic; -import org.apache.log4j.Logger; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import regclient.pages.hindi.DashboardPageHindi; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class DashboardPageArabic extends DashboardPage { - private static final Logger logger = Logger.getLogger(DashboardPageArabic.class); + private static final Logger logger = LoggerFactory.getLogger(DashboardPageArabic.class); @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"لوحة القيادة\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; diff --git a/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java b/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java index 4b8b1cf87..0e16af7fa 100644 --- a/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java +++ b/ui-test/src/main/java/regclient/pages/english/DashboardPageEnglish.java @@ -1,19 +1,18 @@ package regclient.pages.english; import org.openqa.selenium.WebElement; - import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; - - -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class DashboardPageEnglish extends DashboardPage { - private static final Logger logger = Logger.getLogger(DashboardPageEnglish.class); + + private static final Logger logger = LoggerFactory.getLogger(DashboardPageEnglish.class); @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") diff --git a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java index 468358f04..700b18941 100644 --- a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java @@ -1,17 +1,21 @@ package regclient.pages.french; -import org.apache.log4j.Logger; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import regclient.pages.english.DashboardPageEnglish; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public class DashboardPageFrench extends DashboardPage { - private static final Logger logger = Logger.getLogger(DashboardPageFrench.class); + private static final Logger logger = LoggerFactory.getLogger(DashboardPageFrench.class); + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; diff --git a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java index 325ee304f..c6d04ef35 100644 --- a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java @@ -1,18 +1,14 @@ package regclient.pages.french; import java.time.Duration; - -import org.apache.log4j.Logger; import org.openqa.selenium.WebElement; - import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.page.LoginPage; import regclient.page.RegistrationTasksPage; -public class LoginPageFrench extends LoginPage { - private static final Logger logger = Logger.getLogger(LoginPageFrench.class); +public class LoginPageFrench extends LoginPage { public LoginPageFrench(AppiumDriver driver) { super(driver); @@ -156,25 +152,5 @@ public void selectLanguage() { public void clickOnSkipToHomeButton() { clickOnElement(skipToHomeButton); } - - public String getPacketsCreatedCount() { - return getVisibleValue(packetCreatedNumber); - } - public String getPacketsSyncedCount() { - return getVisibleValue(packetSyncedNumber); - } - - public String getPacketsUploadedCount() { - return getVisibleValue(packetUploadedNumber); - } - - public void logPacketCounts() { - String created = getPacketsCreatedCount(); - String synced = getPacketsSyncedCount(); - String uploaded = getPacketsUploadedCount(); - logger.info("No. of Packets Created : " + created); - logger.info("No. of Packets Synced : " + synced); - logger.info("No. of Packets Uploaded : " + uploaded); - } } diff --git a/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java b/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java index 76e118a23..af0c9b182 100644 --- a/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java +++ b/ui-test/src/main/java/regclient/pages/hindi/DashboardPageHindi.java @@ -1,16 +1,21 @@ package regclient.pages.hindi; -import org.apache.log4j.Logger; + import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + public class DashboardPageHindi extends DashboardPage { - private static final Logger logger = Logger.getLogger(DashboardPageHindi.class); + private static final Logger logger = LoggerFactory.getLogger(DashboardPageHindi.class); + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") private WebElement packetUploadedNumber; diff --git a/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java b/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java index d2f8a49b1..724c5867b 100644 --- a/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java +++ b/ui-test/src/main/java/regclient/pages/kannada/DashboardPageKannada.java @@ -1,15 +1,18 @@ package regclient.pages.kannada; -import org.apache.log4j.Logger; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public class DashboardPageKannada extends DashboardPage { - private static final Logger logger = Logger.getLogger(DashboardPageKannada.class); + private static final Logger logger = LoggerFactory.getLogger(DashboardPageKannada.class); + @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[1]") private WebElement packetCreatedNumber; diff --git a/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java b/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java index caebd42eb..b12e5ec0d 100644 --- a/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java +++ b/ui-test/src/main/java/regclient/pages/tamil/DashboardPageTamil.java @@ -1,16 +1,19 @@ package regclient.pages.tamil; -import org.apache.log4j.Logger; -import org.openqa.selenium.WebElement; +import org.openqa.selenium.WebElement; import io.appium.java_client.AppiumDriver; import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + public class DashboardPageTamil extends DashboardPage{ - private static final Logger logger = Logger.getLogger(DashboardPageTamil.class); + private static final Logger logger = LoggerFactory.getLogger(DashboardPageTamil.class); @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Dashboard\"]/following-sibling::android.view.View[3]") From 6603b28ec00f45b6ac5bcc7183433b203d961e53 Mon Sep 17 00:00:00 2001 From: maheswaras Date: Tue, 10 Feb 2026 13:54:34 +0530 Subject: [PATCH 5/5] MOSIP-44178:Update dashboard positive flow testcases Signed-off-by: maheswaras --- .../java/regclient/pages/arabic/DashboardPageArabic.java | 1 - .../java/regclient/pages/french/DashboardPageFrench.java | 1 - .../java/regclient/pages/french/LoginPageFrench.java | 9 --------- 3 files changed, 11 deletions(-) diff --git a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java index c645c4f4e..1415c6638 100644 --- a/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java +++ b/ui-test/src/main/java/regclient/pages/arabic/DashboardPageArabic.java @@ -6,7 +6,6 @@ import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; -import regclient.pages.hindi.DashboardPageHindi; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java index 700b18941..a7bd90cea 100644 --- a/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/DashboardPageFrench.java @@ -6,7 +6,6 @@ import io.appium.java_client.pagefactory.AndroidFindBy; import regclient.api.KeycloakUserManager; import regclient.page.DashboardPage; -import regclient.pages.english.DashboardPageEnglish; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java index c6d04ef35..4d1a6c29b 100644 --- a/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java +++ b/ui-test/src/main/java/regclient/pages/french/LoginPageFrench.java @@ -13,15 +13,6 @@ public class LoginPageFrench extends LoginPage { public LoginPageFrench(AppiumDriver driver) { super(driver); } - - @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[3]") - private WebElement packetUploadedNumber; - - @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[2]") - private WebElement packetSyncedNumber; - - @AndroidFindBy(xpath = "//android.view.View[@content-desc=\"Tableau de bord\"]/following-sibling::android.view.View[1]") - private WebElement packetCreatedNumber; @AndroidFindBy(uiAutomator = "UiSelector().className(\"android.widget.ImageView\").instance(1)") private WebElement mosipLogo;