Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
a0bfe00
MOSIP-42652: ARC UI automation
damodarguru Nov 14, 2025
08a28ea
MOSIP-42652: ARC UI automation
damodarguru Nov 14, 2025
721b9fc
MOSIP-42652: ARC UI automation
damodarguru Nov 14, 2025
3a12146
MOSIP-42652: ARC UI automation
damodarguru Nov 14, 2025
59b0551
MOSIP-42652: ARC UI automation
damodarguru Nov 14, 2025
13a5216
MOSIP-42652: ARC UI automation
damodarguru Nov 16, 2025
d491e34
MOSIP-42652: ARC UI automation
damodarguru Nov 16, 2025
0ab2c46
MOSIP-42652: ARC UI automation
damodarguru Nov 16, 2025
e8fc791
MOSIP-42652: ARC UI automation
damodarguru Nov 17, 2025
33c2c6d
MOSIP-42652: ARC UI automation
damodarguru Nov 17, 2025
59533f0
MOSIP-42652: ARC UI automation
damodarguru Nov 17, 2025
226ead9
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 1, 2025
16859d2
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 1, 2025
6f6439c
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 1, 2025
62556f7
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 2, 2025
b1e9686
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 3, 2025
ffba7b1
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 3, 2025
9448a75
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 4, 2025
c23865d
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 10, 2025
1724c69
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 10, 2025
6ca07a5
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 10, 2025
a6a0116
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 19, 2025
ceb9e9e
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 19, 2025
e84a07b
MOSIP-43667:ARC UI automation add testcases and move to develop branch
damodarguru Dec 19, 2025
93665c5
MOSIP-44176:ARC - Run the ARC UI automation in Arab language
damodarguru Jan 21, 2026
c559239
MOSIP-44176:ARC - Run the ARC UI automation in Arab language
damodarguru Jan 21, 2026
b12ffc9
Merge branch 'mosip:develop' into develop
damodarguru Jan 21, 2026
748c6dd
Merge branch 'develop' of https://github.com/damodarguru/android-regi…
damodarguru Jan 21, 2026
56542a7
MOSIP-44311:Fix and optimize ARC UI automation failures
damodarguru Jan 22, 2026
ce7ba60
MOSIP-44311:Fix and optimize ARC UI automation failures
damodarguru Jan 23, 2026
7e60e54
MOSIP-44311:Fix and optimize ARC UI automation failures
damodarguru Jan 23, 2026
1b5da3e
MOSIP-44311:Fix and optimize ARC UI automation failures
damodarguru Jan 23, 2026
d1ae633
MOSIP-44311:Fix and optimize ARC UI automation failures
damodarguru Jan 23, 2026
6162928
MOSIP-44176:ARC - Run the ARC UI automation in Arab language
damodarguru Feb 9, 2026
815e0f3
MOSIP-44176:ARC - Run the ARC UI automation in Arab language
damodarguru Feb 9, 2026
5242d5e
MOSIP-44176:ARC - Run the ARC UI automation in Arab language
damodarguru Feb 9, 2026
c0bddbd
MOSIP-44176:ARC - Run the ARC UI automation in Arab language
damodarguru Feb 9, 2026
fb32e60
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
4f3fec5
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
60953b3
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
a3ba6df
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
322989a
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
1e3714e
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
c18f01f
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 15, 2026
0bd1465
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 16, 2026
b4d952c
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 16, 2026
418875d
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 17, 2026
5406936
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 17, 2026
62f2890
MOSIP-44175:ARC - Run the ARC UI automation in French language
damodarguru Feb 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion ui-test/src/main/java/regclient/BaseTest/AndroidBaseTest.java
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
package regclient.BaseTest;

import java.time.Duration;

import org.openqa.selenium.ScreenOrientation;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;

import io.appium.java_client.remote.SupportsRotation;
import regclient.driver.DriverManager;
import regclient.page.BasePage;
import regclient.utils.TestDataReader;

public class AndroidBaseTest extends BaseTest {
protected BasePage basePage;

@BeforeMethod(alwaysRun = true)
public void setup() {
try {
Expand All @@ -15,8 +24,10 @@ public void setup() {
} catch (Exception e) {
throw new RuntimeException();
}
basePage = new BasePage(driver);
basePage.applyOrientation();
}

@AfterMethod(alwaysRun = true)
public void teardown(ITestResult result) {
driver.quit();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ public class AddMachineDetails extends AndroidBaseTest {
@Test(priority = 0, description = "Add machine details")
public void addMachineDetails() {

BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
LoginPageEnglish loginPage = new LoginPageEnglish(driver);

assertTrue(loginPage.isWelcomeMessageInSelectedLanguageDisplayed(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ public class AutoLogout extends AndroidBaseTest {

@Test(priority = 0, description = "Verify auto-logout when the machine is online")
public void onlineAutoLogout() throws InterruptedException {
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
LoginPage loginPage = null;
RegistrationTasksPage registrationTasksPage = null;
AutoLogoutPage autoLogoutPage = null;
Expand Down Expand Up @@ -172,7 +171,6 @@ public void onlineAutoLogout() throws InterruptedException {
@Test(priority = 1, description = "Verify auto-logout when the machine is offline")
public void offlineAutoLogout() throws InterruptedException, IOException {
try {
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
LoginPage loginPage = null;
RegistrationTasksPage registrationTasksPage = null;
AutoLogoutPage autoLogoutPage = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ public class BiometricCorrection extends AndroidBaseTest {
@Test(priority = 0, description = "Verify adult biometric correction")
public void adultBiometricCorrection() throws InterruptedException {

BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down Expand Up @@ -436,8 +435,10 @@ public void adultBiometricCorrection() throws InterruptedException {
}

assertTrue(previewPage.isNewRegistrationTitleDisplayed(), "Verify if new Registration title is displayed");
assertTrue(previewPage.isApplicationIDPreviewPagePageDisplayed(),
"Verify if application ID In PreviewPage is displayed");

// Below commentout method may be required in future
// assertTrue(previewPage.isApplicationIDPreviewPagePageDisplayed(),
// "Verify if application ID In PreviewPage is displayed");

assertTrue(previewPage.isDemographicInformationInPreviewPageDisplayed(),
"Verify if Demographic Information In PreviewPage is displayed");
Expand Down Expand Up @@ -980,7 +981,6 @@ public void adultBiometricCorrection() throws InterruptedException {
@Test(priority = 1, description = "Verify minor biometric correction")
public void minorBiometricCorrection() throws InterruptedException {

BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public class InitialLaunch extends AndroidBaseTest {

@Test(priority = 0, description = "Verify initial app launch after machine details are configured")
public void initialLaunch() {
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.

LoginPageEnglish loginPage = new LoginPageEnglish(driver);

// assertTrue(loginPage.isWelcomeMessageInSelectedLanguageDisplayed(), "verify if the welcome msg in selected language displayed");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public class LoginTest extends AndroidBaseTest {

@Test(priority = 0, description = "Verify user login with valid credentials")
public void userloginTest() {
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.

LoginPage loginPage = null;
OperationalTaskPage operationalTaskPage = null;
RegistrationTasksPage registrationTasksPage = null;
Expand Down Expand Up @@ -227,7 +227,7 @@ public void userloginTest() {
}

profilePage.clickOnLogoutButton();

profilePage.clickOnLogoutButton();

assertTrue(loginPage.isLoginPageLoaded(), "verify if login page is displayed in Selected language");
Expand All @@ -237,7 +237,6 @@ public void userloginTest() {
@Test(priority = 1, description = "Verify operator onboarding process")
public void onboardingTest() {

BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
LoginPage loginPage = null;
OnBoardPage onBoardPage = null;
SupervisorBiometricVerificationpage supervisorBiometricVerificationpage = null;
Expand Down Expand Up @@ -449,7 +448,7 @@ public void onboardingTest() {

@Test(priority = 2, description = "Verify operator biometric update functionality")
public void updateOperatorBiometrics() {
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.

LoginPage loginPage = null;
OperationalTaskPage operationalTaskPage = null;
RegistrationTasksPage registrationTasksPage = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ public class LostUin extends AndroidBaseTest {

@Test(priority = 0, description = "Verify lost UIN")
public void lostUinAdult() {
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.

FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,6 @@ public class NewRegistrationAdult extends AndroidBaseTest {
@Test(priority = 0, description = "Verify adult new registration")
public void newRegistrationAdult() throws InterruptedException {

BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand All @@ -148,6 +147,7 @@ public void newRegistrationAdult() throws InterruptedException {
PendingApproval pendingApproval = null;
ManageApplicationsPage manageApplicationsPage = null;
ProfilePage profilePage = null;
BasePage basePage = null;

final String language = TestDataReader.readData("language");

Expand Down Expand Up @@ -599,15 +599,17 @@ public void newRegistrationAdult() throws InterruptedException {
boolean uploadSuccess = false;

for (int i = 0; i < 3; i++) {

manageApplicationsPage.clickOnUploadButton();

if (!manageApplicationsPage.isNoNetworkFoundDisplayed()) {
uploadSuccess = true;
break;
uploadSuccess = manageApplicationsPage.isZeroApplicationDisplayed();

if (!uploadSuccess) {

}
}

assertTrue(uploadSuccess, "Upload failed after retries: No Network Found still displayed");
assertTrue(uploadSuccess, "Zero Application not displayed after retries");

manageApplicationsPage.clickOnBackButton();

Expand All @@ -634,9 +636,8 @@ public void newRegistrationAdult() throws InterruptedException {

}

// @Test(priority = 1, description = "Verify adult new registration")
@Test(priority = 1, description = "Verify adult new registration")
public void newRegistrationAdultUploadMultipleDoccuments() throws InterruptedException {
BasePage.disableAutoRotation();
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public void newRegistrationAdultException() throws InterruptedException {
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.

LoginPage loginPage = null;
RegistrationTasksPage registrationTasksPage = null;
SelectLanguagePage selectLanguagePage = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ public void newRegistrationInfant() throws InterruptedException {
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
BasePage.disableAutoRotation();
Comment thread
damodarguru marked this conversation as resolved.

LoginPage loginPage = null;
RegistrationTasksPage registrationTasksPage = null;
SelectLanguagePage selectLanguagePage = null;
Expand Down Expand Up @@ -287,7 +287,8 @@ public void newRegistrationInfant() throws InterruptedException {
} else {
throw new IllegalStateException("Unsupported language in testdata.json: " + language);
}
biometricDetailsPage.clickOnFaceScanIcon();
assertTrue(biometricDetailsPage.isBiometricDetailsPageDisplayed(),
"Verify if biometric details page is displayed");
if ("eng".equalsIgnoreCase(language)) {
applicantBiometricsPage = new ApplicantBiometricsPageEnglish(driver);
} else if ("hin".equalsIgnoreCase(language)) {
Expand All @@ -303,13 +304,18 @@ public void newRegistrationInfant() throws InterruptedException {
} else {
throw new IllegalStateException("Unsupported language in testdata.json: " + language);
}
applicantBiometricsPage.clickOnScanButton();

assertTrue(applicantBiometricsPage.isFaceScan(),
"Verify if face captured and 2 attempts left text is displayed");
applicantBiometricsPage.closeScanCapturePopUp();

biometricDetailsPage = applicantBiometricsPage.clickOnNextButton();

if (FetchUiSpec.face.equals("yes")) {

biometricDetailsPage.clickOnFaceScanIcon();
assertTrue(applicantBiometricsPage.isFaceScanTitleDisplayed(),
"Verify if applicant face scan title is displayed");
applicantBiometricsPage.clickOnScanButton();

assertTrue(applicantBiometricsPage.isFaceScan(), "Verify if face scan 1st attempt");
applicantBiometricsPage.closeScanCapturePopUp();
applicantBiometricsPage.clickOnNextButton();
}

assertTrue(biometricDetailsPage.isBiometricDetailsPageDisplayed(),
"Verify if biometric details page is displayed");
Expand All @@ -335,65 +341,54 @@ public void newRegistrationInfant() throws InterruptedException {
FetchUiSpec.face = "no";
FetchUiSpec.getBiometricDetails("introducerBiometrics");
if (FetchUiSpec.eye.equals("yes")) {

biometricDetailsPage.clickOnIntroducerIrisScan();
assertTrue(introducerBiometricPage.isIntroducerBiometricsPageDisplayed(),
Comment thread
damodarguru marked this conversation as resolved.
"Verify if introducer biometric page is displayed");


introducerBiometricPage.clickOnScanButton();

if (!introducerBiometricPage.isIrisScan()) {
introducerBiometricPage.clickOnScanButton();
}

assertTrue(introducerBiometricPage.isIrisScan(), "Verify if iris scan 1st attempt");
introducerBiometricPage.closeScanCapturePopUp();
introducerBiometricPage.clickOnNextButton();
}
// righthand
if (FetchUiSpec.rightHand.equals("yes")) {

assertTrue(introducerBiometricPage.isRightHandScanTitleDisplayed(),
"Verify if right hand scan is displayed");
introducerBiometricPage.clickOnScanButton();

if (!introducerBiometricPage.isRightHandScan()) {
introducerBiometricPage.clickOnScanButton();
}

assertTrue(introducerBiometricPage.isRightHandScan(), "Verify if right hand scan 1st attempt");

introducerBiometricPage.closeScanCapturePopUp();
introducerBiometricPage.clickOnNextButton();
}
// lefthand
if (FetchUiSpec.leftHand.equals("yes")) {
assertTrue(introducerBiometricPage.isLeftHandScanTitleDisplayed(),
"Verify if applicant left hand scan title is displayed");
introducerBiometricPage.clickOnScanButton();
assertTrue(introducerBiometricPage.isLeftHandScan(), "Verify if left hand scan 1st attempt");

assertTrue(introducerBiometricPage.isLeftHandScan(), "Verify if Left hand scan 1st attempt");
introducerBiometricPage.closeScanCapturePopUp();
assertTrue(introducerBiometricPage.isNextButtonDisplayed(), "Verify if next button displayed");
introducerBiometricPage.clickOnNextButton();
}
// thumb
if (FetchUiSpec.thumb.equals("yes")) {
assertTrue(introducerBiometricPage.isThumbsScanTitleDisplayed(),
"Verify if thumbs scan page is displayed");
introducerBiometricPage.clickOnScanButton();

if (!introducerBiometricPage.isThumbsScan()) {
introducerBiometricPage.clickOnScanButton();
}

assertTrue(introducerBiometricPage.isThumbsScan(), "Verify if thumb scan 1st attempt");

assertTrue(introducerBiometricPage.isThumbsScan(), "Verify if thumbs scan 1st attempt");
introducerBiometricPage.closeScanCapturePopUp();

assertTrue(introducerBiometricPage.isNextButtonDisplayed(), "Verify if next button displayed");
introducerBiometricPage.clickOnNextButton();
}
// face
if (FetchUiSpec.face.equals("yes")) {
assertTrue(introducerBiometricPage.isFaceScanTitleDisplayed(),
"Verify if face scan page is displayed");
introducerBiometricPage.clickOnScanButton();
assertTrue(introducerBiometricPage.isFaceScan(), "Verify if Face scan 1st attempt");


assertTrue(introducerBiometricPage.isFaceScan(), "Verify if face scan 1st attempt");
introducerBiometricPage.closeScanCapturePopUp();
assertTrue(introducerBiometricPage.isNextButtonDisplayed(), "Verify if next button displayed");
introducerBiometricPage.clickOnNextButton();
biometricDetailsPage = introducerBiometricPage.clickOnNextButton();
}

biometricDetailsPage.clickOnContinueButton();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ public void newRegistrationMinor() throws InterruptedException {
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
BasePage.disableAutoRotation();

LoginPage loginPage = null;
RegistrationTasksPage registrationTasksPage = null;
SelectLanguagePage selectLanguagePage = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ public void newRegistrationMinorException() throws InterruptedException {
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
BasePage.disableAutoRotation();

LoginPage loginPage = null;
RegistrationTasksPage registrationTasksPage = null;
SelectLanguagePage selectLanguagePage = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public class PreRegFetchingPacket extends AndroidBaseTest {

@Test(priority = 0, description = "Verify adult pre-reg fetching registration")
public void adultPreRegFetching() throws InterruptedException {
BasePage.disableAutoRotation();

FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down Expand Up @@ -612,7 +612,6 @@ public void adultPreRegFetching() throws InterruptedException {
@Test(priority = 1, description = "Verify minor pre-reg fetching registration")
public void minorPreRegFetching() throws InterruptedException {

BasePage.disableAutoRotation();
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down Expand Up @@ -650,6 +649,7 @@ public void minorPreRegFetching() throws InterruptedException {
} else {
throw new IllegalStateException("Unsupported language in testdata.json: " + language);
}

loginPage.selectLanguage();

assertTrue(loginPage.isWelcomeMessageInSelectedLanguageDisplayed(),
Expand Down Expand Up @@ -1180,7 +1180,6 @@ public void minorPreRegFetching() throws InterruptedException {
@Test(priority = 2, description = "Verify infant pre-reg fetching registration")
public void infantPreRegFetching() throws InterruptedException {

BasePage.disableAutoRotation();
FetchUiSpec.getUiSpec("newProcess");
FetchUiSpec.getBiometricDetails("individualBiometrics");
List<String> screenOrder = FetchUiSpec.getAllScreenOrder();
Expand Down Expand Up @@ -1218,6 +1217,7 @@ public void infantPreRegFetching() throws InterruptedException {
} else {
throw new IllegalStateException("Unsupported language in testdata.json: " + language);
}

loginPage.selectLanguage();

assertTrue(loginPage.isWelcomeMessageInSelectedLanguageDisplayed(),
Expand Down
Loading