diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/kernel/util/ConfigManager.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/kernel/util/ConfigManager.java index a1fa3e87..dff2579b 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/kernel/util/ConfigManager.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/kernel/util/ConfigManager.java @@ -632,7 +632,7 @@ public static String getRolesForUser(String userId) { return propsKernel.getProperty("roles." + userId); } - private static Properties getproperty(String path) { + public static Properties getproperty(String path) { Properties prop = new Properties(); try { File file = new File(path); @@ -674,6 +674,7 @@ public static String getiam_apiinternalendpoint() { // return ConfigManager.getAuthDemoServiceBaseUrl() + ":" + ConfigManager.getAuthDemoServicePort(); // } + } \ No newline at end of file diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BlockListTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BlockListTest.java index 02e95775..a44cf4b5 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BlockListTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BlockListTest.java @@ -14,19 +14,19 @@ public class BlockListTest extends BaseClass { public void blocklistedwordsCRUD() throws IOException { String blocklistedWord=ConfigManager.getdummyData(); String idBlocklisted="admin/masterdata/blocklisted-words/view"; - Commons.click(driver, By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver, By.id(idBlocklisted)); - Commons.click(driver, By.id("Create")); - Commons.enter(driver, By.id("word"), blocklistedWord); - Commons.enter(driver, By.id("description"), data); - Commons.create(driver); - Commons.filter(driver, By.id("word"), blocklistedWord); - Commons.edit(driver,blocklistedWord+"auto",By.id("word")); - Commons.filter(driver, By.id("word"), blocklistedWord+"A"); - Commons.activate(driver); - Commons.edit(driver,blocklistedWord+"B",By.id("word")); - Commons.filter(driver, By.id("word"), blocklistedWord+"B"); - Commons.deactivate(driver); + Commons.click(driver(), By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(), By.id(idBlocklisted)); + Commons.click(driver(), By.id("Create")); + Commons.enter(driver(), By.id("word"), blocklistedWord); + Commons.enter(driver(), By.id("description"), data); + Commons.create(driver()); + Commons.filter(driver(), By.id("word"), blocklistedWord); + Commons.edit(driver(),blocklistedWord+"auto",By.id("word")); + Commons.filter(driver(), By.id("word"), blocklistedWord+"A"); + Commons.activate(driver()); + Commons.edit(driver(),blocklistedWord+"B",By.id("word")); + Commons.filter(driver(), By.id("word"), blocklistedWord+"B"); + Commons.deactivate(driver()); } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BulkUploadTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BulkUploadTest.java index 9ff2cb12..35f7a292 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BulkUploadTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/BulkUploadTest.java @@ -19,30 +19,30 @@ public class BulkUploadTest extends BaseClass { @Test (dataProvider = "data-provider") public void bulkUploadCRUD(String table) throws Exception { - Commons.click(driver,By.id("admin/bulkupload")); - Commons.click(driver,By.xpath("//a[@href='#/admin/bulkupload/masterdataupload']")); + Commons.click(driver(),By.id("admin/bulkupload")); + Commons.click(driver(),By.xpath("//a[@href='#/admin/bulkupload/masterdataupload']")); for(int count=0;count<=2;count++) { - Commons.click(driver,By.id("Upload Data")); + Commons.click(driver(),By.id("Upload Data")); - if(count==0) Commons.dropdown(driver,By.id("operation"),By.id("Insert")); - if(count==1) Commons.dropdown(driver,By.id("operation"),By.id("Update")); - if(count==2) Commons.dropdown(driver,By.id("operation"),By.id("Delete")); - Commons.dropdown(driver,By.id("tableName"),By.id(table)); + if(count==0) Commons.dropdown(driver(),By.id("operation"),By.id("Insert")); + if(count==1) Commons.dropdown(driver(),By.id("operation"),By.id("Update")); + if(count==2) Commons.dropdown(driver(),By.id("operation"),By.id("Delete")); + Commons.dropdown(driver(),By.id("tableName"),By.id(table)); String filePath = TestRunner.getResourcePath()+ "//BulkUploadFiles//"+ ConfigManager.getloginlang()+"//"+table+".csv"; - Commons.enter( driver, By.id("fileInput"), filePath); + Commons.enter( driver(), By.id("fileInput"), filePath); - Commons.click(driver,By.xpath("//button[@id='createButton']")); - Commons.click(driver,By.id("confirmpopup")); + Commons.click(driver(),By.xpath("//button[@id='createButton']")); + Commons.click(driver(),By.id("confirmpopup")); Commons.wait(2000); - String divText=driver.findElement(By.xpath("//div[@class='mat-dialog-content']//div")).getText(); + String divText=driver().findElement(By.xpath("//div[@class='mat-dialog-content']//div")).getText(); String divTextArr[]=divText.split(":"); logger.info(divTextArr[1].trim()); - Commons.click(driver,By.id("confirmmessagepopup")); //DONE + Commons.click(driver(),By.id("confirmmessagepopup")); //DONE Commons.wait(2000); - String transId=driver.findElement(By.xpath("//table[@class='mat-table']//tr[2]//td[1]")).getText(); - String status=driver.findElement(By.xpath("//table[@class='mat-table']//tr[2]//td[5]")).getText(); - Reporter.log("

"); + String transId=driver().findElement(By.xpath("//table[@class='mat-table']//tr[2]//td[1]")).getText(); + String status=driver().findElement(By.xpath("//table[@class='mat-table']//tr[2]//td[5]")).getText(); + Reporter.log("

"); Assert.assertTrue(transId.equals(divTextArr[1].trim())); Assert.assertTrue(status.equalsIgnoreCase("COMPLETED"),"Status Should be COMPLETED"); } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTest.java index 720db4b3..54e00eec 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTest.java @@ -15,48 +15,48 @@ public void centerCRUD() throws Exception { int totalHierarchyLevels=BaseTestCaseFunc.getHierarchyNumbers(); Reporter.log("centerCRUD",true); String holidayDate=ConfigManager.getholidayDateCenter(); - Commons.click(driver,By.id("admin/resources")); - Commons.click(driver,By.id("/admin/resources/centers")); - Commons.click(driver, By.id("Create Center")); - Commons.enter(driver, By.id("name"), data); - Commons.dropdown(driver,By.id("centerTypeCode")); - Commons.enter(driver, By.id("contactPerson"),data); - Commons.enter(driver,By.id("contactPhone"),data); - Commons.enter(driver,By.id("longitude"),"1.1234"); - Commons.enter(driver,By.id("latitude"),"2.2345"); - Commons.enter(driver,By.id("addressLine1"),data); - Commons.enter(driver,By.id("addressLine2"),data); - Commons.enter(driver,By.id("addressLine3"),data); + Commons.click(driver(),By.id("admin/resources")); + Commons.click(driver(),By.id("/admin/resources/centers")); + Commons.click(driver(), By.id("Create Center")); + Commons.enter(driver(), By.id("name"), data); + Commons.dropdown(driver(),By.id("centerTypeCode")); + Commons.enter(driver(), By.id("contactPerson"),data); + Commons.enter(driver(),By.id("contactPhone"),data); + Commons.enter(driver(),By.id("longitude"),"1.1234"); + Commons.enter(driver(),By.id("latitude"),"2.2345"); + Commons.enter(driver(),By.id("addressLine1"),data); + Commons.enter(driver(),By.id("addressLine2"),data); + Commons.enter(driver(),By.id("addressLine3"),data); for(int i=1;i<=totalHierarchyLevels;i++) { - Commons.dropdown(driver, By.xpath("(//*[@id='fieldName'])["+i+"]")); + Commons.dropdown(driver(), By.xpath("(//*[@id='fieldName'])["+i+"]")); } try{ - Commons.dropdown(driver, By.id("zone")); + Commons.dropdown(driver(), By.id("zone")); }catch(Exception e) { } - Commons.dropdown(driver, By.id("holidayZone")); - Commons.enter(driver,By.id("noKiosk"),"10"); - Commons.dropdown(driver,By.id("processingTime"),"45"); - Commons.dropdown(driver,By.id("startTime"),"9:00 AM"); - Commons.dropdown(driver,By.id("endTime"),"5:00 PM"); - Commons.dropdown(driver,By.id("lunchStartTime"),"1:00 PM"); - Commons.dropdown(driver,By.id("lunchEndTime"),"2:00 PM"); - Commons.click(driver,By.cssSelector(".mat-list-item:nth-child(1) .mat-pseudo-checkbox")); - Commons.click(driver,By.cssSelector(".mat-list-item:nth-child(2) .mat-pseudo-checkbox")); - Commons.click(driver,By.cssSelector(".mat-list-item:nth-child(3) > .mat-list-item-content")); - Commons.click(driver,By.cssSelector(".mat-list-item:nth-child(4) > .mat-list-item-content")); - Commons.click(driver,By.cssSelector(".mat-list-item:nth-child(5) > .mat-list-item-content")); + Commons.dropdown(driver(), By.id("holidayZone")); + Commons.enter(driver(),By.id("noKiosk"),"10"); + Commons.dropdown(driver(),By.id("processingTime"),"45"); + Commons.dropdown(driver(),By.id("startTime"),"9:00 AM"); + Commons.dropdown(driver(),By.id("endTime"),"5:00 PM"); + Commons.dropdown(driver(),By.id("lunchStartTime"),"1:00 PM"); + Commons.dropdown(driver(),By.id("lunchEndTime"),"2:00 PM"); + Commons.click(driver(),By.cssSelector(".mat-list-item:nth-child(1) .mat-pseudo-checkbox")); + Commons.click(driver(),By.cssSelector(".mat-list-item:nth-child(2) .mat-pseudo-checkbox")); + Commons.click(driver(),By.cssSelector(".mat-list-item:nth-child(3) > .mat-list-item-content")); + Commons.click(driver(),By.cssSelector(".mat-list-item:nth-child(4) > .mat-list-item-content")); + Commons.click(driver(),By.cssSelector(".mat-list-item:nth-child(5) > .mat-list-item-content")); Commons.calendar(holidayDate); - Commons.click(driver, By.id("createExceptionalHoliday")); - Commons.createRes(driver); - Commons.filterCenter(driver, By.id("name"), data); - Commons.editCenter(driver,data+1,By.id("name")); - Commons.filterCenter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.editCenter(driver,data+2,By.id("name")); - Commons.filterCenter(driver, By.id("name"), data+2); - Commons.deactivate(driver); - Commons.decommission(driver); + Commons.click(driver(), By.id("createExceptionalHoliday")); + Commons.createRes(driver()); + Commons.filterCenter(driver(), By.id("name"), data); + Commons.editCenter(driver(),data+1,By.id("name")); + Commons.filterCenter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.editCenter(driver(),data+2,By.id("name")); + Commons.filterCenter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); + Commons.decommission(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTypeTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTypeTest.java index 56b50275..c1c7a741 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTypeTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/CenterTypeTest.java @@ -13,22 +13,22 @@ public class CenterTypeTest extends BaseClass{ public void centerTypeCRUD() throws IOException { String idCenterTypeCard="admin/masterdata/center-type/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(idCenterTypeCard)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("code"),data); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("descr"),data); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(idCenterTypeCard)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("code"),data); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("descr"),data); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceSpecificationTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceSpecificationTest.java index 7a29d3fe..a588464f 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceSpecificationTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceSpecificationTest.java @@ -11,24 +11,24 @@ public class DeviceSpecificationTest extends BaseClass{ @Test public void deviceSpecCRUD() throws IOException { String devicespec="admin/masterdata/device-specs/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(devicespec)); - Commons.click(driver,By.id("Create")); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(devicespec)); + Commons.click(driver(),By.id("Create")); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("description"),data); - Commons.enter(driver,By.id("brand"),data); - Commons.enter(driver,By.id("model"),data); - Commons.enter(driver,By.id("minDriverversion"),data); - Commons.dropdown(driver,By.id("deviceTypeCode")); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.enter(driver(),By.id("brand"),data); + Commons.enter(driver(),By.id("model"),data); + Commons.enter(driver(),By.id("minDriverversion"),data); + Commons.dropdown(driver(),By.id("deviceTypeCode")); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTest.java index 2f9d56ec..69eab082 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTest.java @@ -15,25 +15,25 @@ public void deviceCRUD() throws InterruptedException, IOException { String validityDate; validityDate = ConfigManager.getvalidityDate(); - Commons.click(driver,By.id("admin/resources")); - Commons.click(driver,By.id("/admin/resources/devices")); - Commons.click(driver,By.id("Create Device")); - Commons.enter(driver, By.id("name"),data); - Commons.enter(driver, By.id("serialNumber"),data); - Commons.enter(driver, By.id("macAddress"),"1.1234"); - Commons.enter(driver, By.id("ipAddress"),"2.2345"); + Commons.click(driver(),By.id("admin/resources")); + Commons.click(driver(),By.id("/admin/resources/devices")); + Commons.click(driver(),By.id("Create Device")); + Commons.enter(driver(), By.id("name"),data); + Commons.enter(driver(), By.id("serialNumber"),data); + Commons.enter(driver(), By.id("macAddress"),"1.1234"); + Commons.enter(driver(), By.id("ipAddress"),"2.2345"); Commons.calendar(validityDate); - Commons.dropdown(driver,By.id("deviceSpecId")); - Commons.dropdown(driver,By.id("regCenterId")); - Commons.createRes(driver); - Commons.filter(driver, By.id("name"), data); - Commons.editRes(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.editRes(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); - Commons.decommission(driver); + Commons.dropdown(driver(),By.id("deviceSpecId")); + Commons.dropdown(driver(),By.id("regCenterId")); + Commons.createRes(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.editRes(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.editRes(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); + Commons.decommission(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTypesTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTypesTest.java index a0a7da47..40184efb 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTypesTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DeviceTypesTest.java @@ -10,19 +10,19 @@ public class DeviceTypesTest extends BaseClass{ @Test public void deviceTypesCRUD() throws IOException { String deviceTypes="admin/masterdata/device-types/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(deviceTypes)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("code"),data); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("description"),data); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(deviceTypes)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("code"),data); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentCategoriesTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentCategoriesTest.java index bd9cf9ec..f79389f4 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentCategoriesTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentCategoriesTest.java @@ -13,20 +13,20 @@ public class DocumentCategoriesTest extends BaseClass{ public void documentCategoriesCRUD() throws IOException { String documentCategories="admin/masterdata/document-categories/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(documentCategories)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("code"),data); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("description"),data); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(documentCategories)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("code"),data); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentTypes.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentTypes.java index 90362850..ecb8cde4 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentTypes.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DocumentTypes.java @@ -11,20 +11,20 @@ public class DocumentTypes extends BaseClass{ @Test public void documentTypesCRUD() throws IOException { String documentTypes="admin/masterdata/document-type/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(documentTypes)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("code"),data); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("description"),data); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(documentTypes)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("code"),data); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DynamicFieldTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DynamicFieldTest.java index a9855ac5..770c51b4 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DynamicFieldTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/DynamicFieldTest.java @@ -10,20 +10,20 @@ public class DynamicFieldTest extends BaseClass{ @Test public void dynamicFieldCRUD() throws IOException { - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id("createDynamicField")); - Commons.enter(driver,By.id("code"),data); - Commons.enter(driver,By.id("name"),"Automation"); - Commons.enter(driver,By.id("description"),"Automation"); - Commons.enter(driver,By.id("value"),data); - Commons.create(driver); - Commons.filter(driver, By.id("description"), "Automation"); - Commons.edit(driver,data+1,By.id("code")); - Commons.filter(driver, By.id("description"), "Automation"); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("code")); - Commons.filter(driver, By.id("description"), "Automation"); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id("createDynamicField")); + Commons.enter(driver(),By.id("code"),data); + Commons.enter(driver(),By.id("name"),"Automation"); + Commons.enter(driver(),By.id("description"),"Automation"); + Commons.enter(driver(),By.id("value"),data); + Commons.create(driver()); + Commons.filter(driver(), By.id("description"), "Automation"); + Commons.edit(driver(),data+1,By.id("code")); + Commons.filter(driver(), By.id("description"), "Automation"); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("code")); + Commons.filter(driver(), By.id("description"), "Automation"); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/HolidaysTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/HolidaysTest.java index f3f12d6b..ad7464c8 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/HolidaysTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/HolidaysTest.java @@ -11,21 +11,21 @@ public class HolidaysTest extends BaseClass{ public void holidaysCRUD() throws Exception { String listofholidays="admin/masterdata/holiday/view"; String holidayDate=ConfigManager.getholidayDate(); - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(listofholidays)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("holidayName"),data); - Commons.enter(driver,By.id("holidayDesc"),data); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(listofholidays)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("holidayName"),data); + Commons.enter(driver(),By.id("holidayDesc"),data); Commons.calendar(holidayDate); - Commons.dropdown(driver,By.id("locationCode")); - Commons.create(driver); - Commons.filter(driver, By.id("holidayName"), data); - Commons.edit(driver,data+1,By.id("holidayName")); - Commons.filter(driver, By.id("holidayName"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("holidayName")); - Commons.filter(driver, By.id("holidayName"), data+2); - Commons.deactivate(driver); + Commons.dropdown(driver(),By.id("locationCode")); + Commons.create(driver()); + Commons.filter(driver(), By.id("holidayName"), data); + Commons.edit(driver(),data+1,By.id("holidayName")); + Commons.filter(driver(), By.id("holidayName"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("holidayName")); + Commons.filter(driver(), By.id("holidayName"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineSpecificationTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineSpecificationTest.java index d9908b95..4e901858 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineSpecificationTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineSpecificationTest.java @@ -10,23 +10,23 @@ public class MachineSpecificationTest extends BaseClass{ @Test public void machineSpecCRUD() throws IOException { String machinespec="admin/masterdata/machine-specs/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(machinespec)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("brand"),data); - Commons.enter(driver,By.id("model"),data); - Commons.enter(driver,By.id("minDriverversion"),data); - Commons.enter(driver,By.id("description"),data); - Commons.dropdown(driver,By.id("machineTypeCode")); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(machinespec)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("brand"),data); + Commons.enter(driver(),By.id("model"),data); + Commons.enter(driver(),By.id("minDriverversion"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.dropdown(driver(),By.id("machineTypeCode")); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTest.java index b69d153d..7a81f5dd 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTest.java @@ -12,31 +12,34 @@ public void machineCRUD() throws Exception { String holidayDateCenter=ConfigManager.getholidayDateCenter(); String publicKey=ConfigManager.getpublicKey(); String signPublicKey=ConfigManager.getsignPublicKey(); - Commons.click(driver,By.id("admin/resources")); - Commons.click(driver,By.xpath("//a[@href='#/admin/resources/machines']")); - Commons.click(driver,By.id("Create Machine")); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("serialNumber"),"1234567"); - Commons.enter(driver,By.id("macAddress"),"1.2.3.4.5.6"); - Commons.enter(driver,By.id("ipAddress"),"2.3.4.5.6"); - Commons.calendar(holidayDateCenter); - Commons.dropdown(driver,By.id("machineSpecId")); - Commons.enter(driver,By.id("publicKey"),publicKey); - Commons.enter(driver,By.id("signPublicKey"),signPublicKey); + Commons.click(driver(),By.id("admin/resources")); + Commons.click(driver(),By.xpath("//a[@href='#/admin/resources/machines']")); + Commons.click(driver(),By.id("Create Machine")); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("serialNumber"),"1234567"); + Commons.enter(driver(),By.id("macAddress"),"1.2.3.4.5.6"); + Commons.enter(driver(),By.id("ipAddress"),"2.3.4.5.6"); + + String loginLang = ConfigManager.getloginlang(); + Commons.calendar(holidayDateCenter, loginLang.toLowerCase()); + + Commons.dropdown(driver(),By.id("machineSpecId")); + Commons.enter(driver(),By.id("publicKey"),publicKey); + Commons.enter(driver(),By.id("signPublicKey"),signPublicKey); try{ - Commons.dropdown(driver, By.id("zone")); + Commons.dropdown(driver(), By.id("zone")); }catch(Exception e) { } - Commons.dropdown(driver,By.id("regCenterId")); - Commons.createRes(driver); - Commons.filter(driver, By.id("name"), data); - Commons.editRes(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.editRes(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); - Commons.decommission(driver); + Commons.dropdown(driver(),By.id("regCenterId")); + Commons.createRes(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.editRes(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.editRes(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); + Commons.decommission(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTypesTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTypesTest.java index 1dd4cd9b..11195536 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTypesTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/MachineTypesTest.java @@ -10,20 +10,20 @@ public class MachineTypesTest extends BaseClass{ @Test public void machineTypesCRUD() throws IOException { String machinetypes="admin/masterdata/machine-type/view" ; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(machinetypes)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("code"),data); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("description"),data); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(machinetypes)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("code"),data); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/TemplateTest.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/TemplateTest.java index f375b8e3..14943e14 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/TemplateTest.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/testcase/TemplateTest.java @@ -11,23 +11,23 @@ public class TemplateTest extends BaseClass{ @Test public void templateCRUD() throws IOException { String templatesid="admin/masterdata/templates/view"; - Commons.click(driver,By.xpath("//a[@href='#/admin/masterdata']")); - Commons.click(driver,By.id(templatesid)); - Commons.click(driver,By.id("Create")); - Commons.enter(driver,By.id("name"),data); - Commons.enter(driver,By.id("description"),data); - Commons.enter(driver,By.id("model"),data); - Commons.enter(driver,By.id("fileText"),data); - Commons.dropdown(driver,By.id("fileFormatCode")); - Commons.dropdown(driver,By.id("templateTypeCode")); - Commons.dropdown(driver,By.id("moduleId")); - Commons.create(driver); - Commons.filter(driver, By.id("name"), data); - Commons.edit(driver,data+1,By.id("name")); - Commons.filter(driver, By.id("name"), data+1); - Commons.activate(driver); - Commons.edit(driver,data+2,By.id("name")); - Commons.filter(driver, By.id("name"), data+2); - Commons.deactivate(driver); + Commons.click(driver(),By.xpath("//a[@href='#/admin/masterdata']")); + Commons.click(driver(),By.id(templatesid)); + Commons.click(driver(),By.id("Create")); + Commons.enter(driver(),By.id("name"),data); + Commons.enter(driver(),By.id("description"),data); + Commons.enter(driver(),By.id("model"),data); + Commons.enter(driver(),By.id("fileText"),data); + Commons.dropdown(driver(),By.id("fileFormatCode")); + Commons.dropdown(driver(),By.id("templateTypeCode")); + Commons.dropdown(driver(),By.id("moduleId")); + Commons.create(driver()); + Commons.filter(driver(), By.id("name"), data); + Commons.edit(driver(),data+1,By.id("name")); + Commons.filter(driver(), By.id("name"), data+1); + Commons.activate(driver()); + Commons.edit(driver(),data+2,By.id("name")); + Commons.filter(driver(), By.id("name"), data+2); + Commons.deactivate(driver()); } } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/BaseClass.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/BaseClass.java index f2937a2a..d1e6cd9b 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/BaseClass.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/BaseClass.java @@ -1,7 +1,6 @@ package io.mosip.testrig.adminui.utility; import java.io.File; - import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -13,95 +12,104 @@ import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.testng.Reporter; -import io.github.bonigarcia.wdm.WebDriverManager; -import io.mosip.testrig.adminui.kernel.util.ConfigManager; -import io.mosip.testrig.adminui.kernel.util.KeycloakUserManager; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; +import io.github.bonigarcia.wdm.WebDriverManager; +import io.mosip.testrig.adminui.kernel.util.ConfigManager; +import io.mosip.testrig.adminui.kernel.util.KeycloakUserManager; public class BaseClass { + private static final Logger logger = Logger.getLogger(TestRunner.class); - protected static WebDriver driver; + + // Make driver thread-safe + protected static ThreadLocal driverThread = new ThreadLocal<>(); protected Map vars; protected JavascriptExecutor js; protected String langcode; protected String envPath = ConfigManager.getiam_adminportal_path(); - protected String env=ConfigManager.getiam_apienvuser(); + protected String env = ConfigManager.getiam_apienvuser(); public static String userid = KeycloakUserManager.moduleSpecificUser; protected String[] allpassword = ConfigManager.getIAMUsersPassword().split(","); protected String password = allpassword[0]; - protected String data = Commons.appendDate; + protected String data = Commons.appendDate; + + // Get driver for current thread + protected static WebDriver driver() { + return driverThread.get(); + } @BeforeMethod public void setUp() throws Exception { Reporter.log("BaseClass", true); logger.info("Start set up"); - if(System.getProperty("os.name").equalsIgnoreCase("Linux") && ConfigManager.getdocker().equals("yes") ) { + + if (System.getProperty("os.name").equalsIgnoreCase("Linux") && ConfigManager.getdocker().equals("yes")) { logger.info("Docker start"); - String configFilePath ="/usr/bin/chromedriver"; + String configFilePath = "/usr/bin/chromedriver"; System.setProperty("webdriver.chrome.driver", configFilePath); - - }else { + } else { WebDriverManager.chromedriver().setup(); logger.info("window chrome driver start"); } + ChromeOptions options = new ChromeOptions(); - String headless=ConfigManager.getheadless(); - if(headless.equalsIgnoreCase("yes")) { - logger.info("Running is headless mode"); - options.addArguments("--headless", "--disable-gpu","--no-sandbox", "--window-size=1920x1080","--disable-dev-shm-usage"); + String headless = ConfigManager.getheadless(); + if (headless.equalsIgnoreCase("yes")) { + logger.info("Running in headless mode"); + options.addArguments("--headless", "--disable-gpu", "--no-sandbox", "--window-size=1920x1080", + "--disable-dev-shm-usage"); } - driver=new ChromeDriver(options); - js = (JavascriptExecutor) driver; + + WebDriver threadDriver = new ChromeDriver(options); + driverThread.set(threadDriver); // Set driver for this thread + + js = (JavascriptExecutor) driver(); vars = new HashMap(); - driver.get(envPath); - logger.info("launch url --"+envPath); - driver.manage().window().maximize(); + driver().get(envPath); + logger.info("launch url --" + envPath); + driver().manage().window().maximize(); Commons.wait(500); - driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); - String language1 = null; - try { + driver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); - language1 = ConfigManager.getloginlang(); - String loginlang = null; - System.out.println(language1); - if(!language1.equals("sin")) { - loginlang = JsonUtil.JsonObjArrayListParsing2(ConfigManager.getlangcode()); - Commons.click(driver, By.xpath("//*[@id='kc-locale-dropdown']")); - String var = "//li/a[contains(text(),'" + loginlang + "')]"; - Commons.click(driver, By.xpath(var)); - } + String language1 = ConfigManager.getloginlang(); + String loginlang; - } catch (Exception e) { - e.getMessage(); + if (language1.equalsIgnoreCase("sin")) { + loginlang = "English"; + } else { + loginlang = JsonUtil.JsonObjArrayListParsing2(ConfigManager.getlangcode()); } - Commons.enter(driver, By.id("username"), userid); - Commons.enter(driver, By.id("password"), password); - Commons.click(driver, By.xpath("//input[@name='login']")); + Commons.click(driver(), By.xpath("//*[@id='kc-locale-dropdown']")); + String xpath = "//li/a[" + "normalize-space(text())='" + loginlang + "' " + + "or contains(translate(normalize-space(text()), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), '" + + language1.toLowerCase() + "') " + "]"; - } + Commons.click(driver(), By.xpath(xpath)); + Commons.enter(driver(), By.id("username"), userid); + Commons.enter(driver(), By.id("password"), password); + Commons.click(driver(), By.xpath("//input[@name='login']")); + } @AfterMethod public void tearDown() { - driver.quit(); + if (driverThread.get() != null) { + driverThread.get().quit(); + driverThread.remove(); + } } - @DataProvider(name = "data-provider") public Object[] dpMethod() { String listFilename[] = readFolderJsonList(); - String s[][] = null; - String temp[] = null; for (int count = 0; count < listFilename.length; count++) { listFilename[count] = listFilename[count].replace(".csv", ""); - } - return listFilename; } @@ -109,13 +117,9 @@ public static String[] readFolderJsonList() { String contents[] = null; try { String langcode = ConfigManager.getloginlang(); - - File directoryPath = new File(TestRunner.getResourcePath()+ "//BulkUploadFiles//" + langcode + "//"); - + File directoryPath = new File(TestRunner.getResourcePath() + "//BulkUploadFiles//" + langcode + "//"); if (directoryPath.exists()) { - contents = directoryPath.list(); - logger.info("List of files and directories in the specified directory:"); for (int i = 0; i < contents.length; i++) { logger.info(contents[i]); } @@ -126,4 +130,22 @@ public static String[] readFolderJsonList() { return contents; } + public static String convertDigits(String number, String locale) { + if (locale.equalsIgnoreCase("ara")) { + String[] arabicDigits = { "٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩" }; + StringBuilder result = new StringBuilder(); + for (char c : number.toCharArray()) { + if (Character.isDigit(c)) { + result.append(arabicDigits[c - '0']); + } else { + result.append(c); + } + } + return result.toString(); + } else { + + return number; + } + } + } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/Commons.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/Commons.java index 7fa0a6e2..e941da9b 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/Commons.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/Commons.java @@ -331,21 +331,55 @@ public static void calendar(String date) throws IOException { int day=Integer.parseInt(d); int year=Integer.parseInt(a.substring(4,8)); try { - Commons.click(driver,By.xpath("//*[@class='mat-datepicker-toggle']//button")); + Commons.click(driver(),By.xpath("//*[@class='mat-datepicker-toggle']//button")); wait(500); - Commons.click(driver,By.xpath("//*[@class='mat-calendar-arrow']")); + Commons.click(driver(),By.xpath("//*[@class='mat-calendar-arrow']")); wait(500); - Commons.click(driver,By.xpath("//*[text()='"+year+"']")); + Commons.click(driver(),By.xpath("//*[text()='"+year+"']")); wait(500); - List cli= driver.findElements(By.xpath("//*[@class='mat-calendar-body-cell-content']")); + List cli= driver().findElements(By.xpath("//*[@class='mat-calendar-body-cell-content']")); cli.get(month-1).click(); wait(500); - Commons.click(driver,By.xpath("//*[text()='"+day+"']")); + Commons.click(driver(),By.xpath("//*[text()='"+day+"']")); }catch (Exception e) { - Reporter.log("

"); + Reporter.log("

"); logger.info(e.getMessage()); } } + + public static void calendar(String date, String locale) throws IOException { + String a = date.replaceAll("/", ""); + int month = Integer.parseInt(a.substring(0, 2)); + int day = Integer.parseInt(a.substring(2, 4)); + int year = Integer.parseInt(a.substring(4, 8)); + + try { + // Open calendar + Commons.click(driver(), By.xpath("//*[@class='mat-datepicker-toggle']//button")); + Thread.sleep(500); + + // Expand year/month selector + Commons.click(driver(), By.xpath("//*[@class='mat-calendar-arrow']")); + Thread.sleep(500); + + // Click year + String yearText = convertDigits(String.valueOf(year), locale); + Commons.click(driver(), By.xpath("//*[normalize-space(text())='" + yearText + "']")); + Thread.sleep(500); + + // Select month (index based to avoid translation issues) + List months = driver().findElements(By.xpath("//*[@class='mat-calendar-body-cell-content']")); + months.get(month - 1).click(); + Thread.sleep(500); + + // Select day (convert if Arabic locale) + String dayText = convertDigits(String.valueOf(day), locale); + Commons.click(driver(), By.xpath("//*[normalize-space(text())='" + dayText + "']")); + } catch (Exception e) { + Reporter.log("

"); + logger.info(e.getMessage()); + } + } public static void wait(int waitTime) { try { @@ -358,7 +392,7 @@ public static void wait(int waitTime) { public static boolean isElementDisplayed(By by) { try { wait(500); // Make sure you have a proper wait method or use Thread.sleep(500); - return driver.findElement(by).isDisplayed(); + return driver().findElement(by).isDisplayed(); } catch (Exception e) { return false; } diff --git a/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/EmailableReport.java b/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/EmailableReport.java index 191a1c3b..fc061021 100644 --- a/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/EmailableReport.java +++ b/uitest-admin/src/main/java/io/mosip/testrig/adminui/utility/EmailableReport.java @@ -36,10 +36,6 @@ import io.mosip.testrig.adminui.kernel.util.ConfigManager; import io.mosip.testrig.adminui.kernel.util.S3Adapter; - - - - /** * Reporter that generates a single-page HTML report of the test results. */ @@ -61,8 +57,6 @@ public class EmailableReport implements IReporter { int totalSkippedTests = 0; int totalFailedTests = 0; - - public void setFileName(String fileName) { this.fileName = fileName; } @@ -72,75 +66,49 @@ public String getFileName() { } @Override - public void generateReport(List xmlSuites, List suites, String outputDirectory) { - try { - writer = createWriter(outputDirectory); - } catch (IOException e) { - logger.error("Unable to create output file", e); - return; - } - for (ISuite suite : suites) { - suiteResults.add(new SuiteResult(suite)); - } - writeDocumentStart(); - writeHead(); - writeBody(); - writeDocumentEnd(); - writer.close(); - - int totalTestCases = totalPassedTests + totalSkippedTests + totalFailedTests; - String oldString = System.getProperty("emailable.report2.name"); - String temp = "-report_T-" + totalTestCases + "_P-" + totalPassedTests + "_S-" + totalSkippedTests + "_F-" - + totalFailedTests; - String newString = oldString.replace("-report", temp); - - File orignialReportFile = new File(System.getProperty("user.dir") + "/" - + System.getProperty("testng.outpur.dir") + "/" + System.getProperty("emailable.report2.name")); - logger.info("reportFile is::" + System.getProperty("user.dir") + "/" + System.getProperty("testng.outpur.dir") - + "/" + System.getProperty("emailable.report2.name")); - - File newReportFile = new File( - System.getProperty("user.dir") + "/" + System.getProperty("testng.outpur.dir") + "/" + newString); - logger.info("New reportFile is::" + System.getProperty("user.dir") + "/" - + System.getProperty("testng.outpur.dir") + "/" + newString); - - if (orignialReportFile.exists()) { - if (orignialReportFile.renameTo(newReportFile)) { - orignialReportFile.delete(); - logger.info("Report File re-named successfully!"); - - if (ConfigManager.getPushReportsToS3().equalsIgnoreCase("yes")) { - S3Adapter s3Adapter = new S3Adapter(); - boolean isStoreSuccess = false; - boolean isStoreSuccess2 = false; - try { - isStoreSuccess = s3Adapter.putObject(ConfigManager.getS3Account(), "Adminui", null, - null, newString, newReportFile); - logger.info("isStoreSuccess:: " + isStoreSuccess); - - /* Need to figure how to handle EXTENT report handling */ - - - - - - } catch (Exception e) { - logger.error("error occured while pushing the object" + e.getMessage()); - } - if (isStoreSuccess && isStoreSuccess2) { - logger.info("Pushed report to S3"); - } else { - logger.error("Failed while pushing file to S3"); - } - } - } else { - logger.error("Renamed report file doesn't exist"); - } - } else { - logger.error("Original report File does not exist!"); - } + public void generateReport(List xmlSuites, List suites, String outputDir) { + try (PrintWriter writer = createWriter(outputDir)) { + this.writer = writer; + + for (ISuite suite : suites) suiteResults.add(new SuiteResult(suite)); + + writeDocumentStart(); + writeHead(); + writeBody(); + writeDocumentEnd(); + } catch (IOException e) { + logger.error("Error creating TestNG report", e); + return; + } + + // --- Prepare filename details --- + String lang = getValueForKey("loginlang"); + if (lang == null || lang.isEmpty()) lang = "eng"; + + String date = java.time.LocalDateTime.now() + .format(java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd_HH-mm")); + + String env = "base-run"; + try { + String envUser = ConfigManager.getiam_apienvuser(); + if (envUser != null && !envUser.isEmpty()) + env = envUser.replaceAll(".*?\\.([^\\.]+\\.[^\\.]+).*", "$1"); + } catch (Exception ignored) {} + + int total = totalPassedTests + totalSkippedTests + totalFailedTests; + + String newName = String.format( + "ADMINUI-%s-%s-%s-report_T-%d_P-%d_S-%d_F-%d.html", + env, lang, date, total, totalPassedTests, totalSkippedTests, totalFailedTests + ); + + // --- Rename file --- + File oldFile = new File(outputDir, fileName); + File newFile = new File(outputDir, newName); + if (oldFile.exists() && oldFile.renameTo(newFile)) + logger.info("Report renamed to: " + newName); } - + private String getCommitId() { Properties properties = new Properties(); try (InputStream is = EmailableReport.class.getClassLoader().getResourceAsStream("git.properties")) { @@ -153,7 +121,6 @@ private String getCommitId() { logger.error(e.getMessage()); return ""; } - } protected PrintWriter createWriter(String outdir) throws IOException { @@ -180,31 +147,32 @@ protected void writeHead() { protected void writeStylesheet() { writer.print(""); + writer.print("table {margin-bottom:10px;border-collapse:collapse;empty-cells:show;width: 100%;}"); + writer.print("th,td {border:1px solid #009;padding:.25em .5em;width: 25%;}"); // Set a fixed width for uniform + // cell sizes + writer.print("th {vertical-align:bottom}"); + writer.print("td {vertical-align:top}"); + writer.print("table a {font-weight:bold}"); + writer.print(".stripe td {background-color: #E6EBF9}"); + writer.print(".num {text-align:center}"); + writer.print(".orange-bg {background-color: #FFA500}"); + writer.print(".grey-bg {background-color: #808080}"); + writer.print(".thich-orange-bg {background-color: #CC5500}"); + writer.print(".green-bg {background-color: #0A0}"); + writer.print(".attn {background-color: #D00}"); + writer.print(".passedodd td {background-color: #3F3}"); + writer.print(".passedeven td {background-color: #0A0}"); + writer.print(".skippedodd td {background-color: #FFA500}"); + writer.print(".skippedeven td,.stripe {background-color: #FFA500}"); + writer.print(".failedodd td {background-color: #F33}"); + writer.print(".failedeven td,.stripe {background-color: #D00}"); + writer.print(".ignoredodd td {background-color: #808080}"); + writer.print(".ignoredeven td {background-color: #808080}"); + writer.print(".known_issuesodd td {background-color: #CC5500}"); + writer.print(".known_issueseven td {background-color: #CC5500}"); + writer.print(".stacktrace {white-space:pre;font-family:monospace}"); + writer.print(".totop {font-size:85%;text-align:center;border-bottom:2px solid #000}"); + writer.print(""); } protected void writeBody() { @@ -222,21 +190,20 @@ protected void writeDocumentEnd() { protected void writeSuiteSummary() { NumberFormat integerFormat = NumberFormat.getIntegerInstance(); NumberFormat decimalFormat = NumberFormat.getNumberInstance(); - String formattedDate =null; + String formattedDate = null; LocalDate currentDate = LocalDate.now(); - String branch = null; - + String branch = null; + try { - + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - formattedDate = currentDate.format(formatter); + formattedDate = currentDate.format(formatter); Process process = Runtime.getRuntime().exec("git rev-parse --abbrev-ref HEAD"); - BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); - branch = reader.readLine(); - } - catch (Exception e) { - // TODO: handle exception - } + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + branch = reader.readLine(); + } catch (Exception e) { + // TODO: handle exception + } totalPassedTests = 0; totalSkippedTests = 0; totalFailedTests = 0; @@ -249,7 +216,8 @@ protected void writeSuiteSummary() { writer.print(Utils.escapeHtml(suiteResult.getSuiteName() + " ---- " + "Report Date: " + formattedDate + " ---- " + "Tested Environment: " + ConfigManager.getiam_apienvuser().replaceAll(".*?\\.([^\\.]+)\\..*", "$1") + " ---- " - + getCommitId())); writer.print(""); + + getCommitId())); + writer.print(""); writer.print("
");
 			writer.print(Utils.escapeHtml("Server Component Details " + AdminTestUtil.getServerComponentsDetails()));
@@ -257,11 +225,11 @@ protected void writeSuiteSummary() {
 			writer.print("");
 
 			writer.print("");
-			//			writer.print("Test Suite");
+			// writer.print("Test Suite");
 			writer.print("# Passed");
 			writer.print("# Skipped");
 			writer.print("# Failed");
-			writer.print("Time (ms)");
+			writer.print("Time (min)");
 			// writer.print("Included Groups");
 			// writer.print("Excluded Groups");
 			writer.print("");
@@ -279,12 +247,14 @@ protected void writeSuiteSummary() {
 				writer.print(">");
 
 				buffer.setLength(0);
-				//				writeTableData(buffer.append("")
-				//						.append(Utils.escapeHtml(testResult.getTestName())).append("").toString());
+				// writeTableData(buffer.append("")
+				// .append(Utils.escapeHtml(testResult.getTestName())).append("").toString());
 				writeTableData(integerFormat.format(passedTests), (passedTests > 0 ? "num green-bg" : "num"));
 				writeTableData(integerFormat.format(skippedTests), (skippedTests > 0 ? "num orange-bg" : "num"));
 				writeTableData(integerFormat.format(failedTests), (failedTests > 0 ? "num attn" : "num"));
-				writeTableData(decimalFormat.format(duration), "num");
+				double minutes = duration / 60000.0;
+				writeTableData(String.format("%.2f", minutes), "num");
+
 				/*
 				 * writeTableData(testResult.getIncludedGroups());
 				 * writeTableData(testResult.getExcludedGroups());
@@ -325,7 +295,7 @@ protected void writeScenarioSummary() {
 		writer.print("");
 		// writer.print("Class");
 		writer.print(" Test ");
-		writer.print("Time (ms)");
+		writer.print("Time (min)");
 		writer.print("");
 		writer.print("");
 
@@ -391,27 +361,32 @@ private int writeScenarioSummary(String description, List classResu
 					int resultsCount = results.size();
 					assert resultsCount > 0;
 					ITestResult firstResult = results.iterator().next();
-					String methodName=firstResult.getName();
+					String methodName = firstResult.getName();
 					// Write the remaining scenarios for the method
 
 					for (int i = 0; i < resultsCount; i++) {
 
 						ITestResult result = results.get(i);
-						//		String [] scenarioDetails = getScenarioDetails(result);
+						// String [] scenarioDetails = getScenarioDetails(result);
 
-						//		String scenarioName = Utils.escapeHtml("Scenario_" + scenarioDetails[0]);
-						//	String scenarioDescription = Utils.escapeHtml(scenarioDetails[1]);
+						// String scenarioName = Utils.escapeHtml("Scenario_" + scenarioDetails[0]);
+						// String scenarioDescription = Utils.escapeHtml(scenarioDetails[1]);
 
 						long scenarioStart = result.getStartMillis();
-						long scenarioDuration = result.getEndMillis() - scenarioStart;
-
-						//						buffer.append("").append("").append(scenarioName).append("")
-						//								.append("").append(scenarioDescription).append("")
-						//								.append("").append(scenarioDuration).append("");
-						buffer.append("")  // Start of table row with a specified CSS class
-						.append("").append(methodName).append("")  // Table cell with a hyperlink
-						.append("").append(scenarioDuration).append("");  // Table cell with scenario duration
+						long scenarioDurationMs = result.getEndMillis() - scenarioStart;
+						double scenarioDurationMin = scenarioDurationMs / 60000.0;
+
+						// buffer.append("").append("").append(scenarioName).append("")
+						// .append("").append(scenarioDescription).append("")
+						// .append("").append(scenarioDuration).append("");
+						buffer.append("") // Start of table row with a
+																						// specified CSS class
+								.append("").append(methodName)
+								.append("") // Table cell with a hyperlink
+								.append("").append(String.format("%.2f", scenarioDurationMin)).append(""); // Table cell with
+																								// scenario duration
 
 						scenarioIndex++;
 					}
@@ -428,8 +403,6 @@ private int writeScenarioSummary(String description, List classResu
 		return scenarioCount;
 	}
 
-
-
 	/**
 	 * Writes the details for all test scenarios.
 	 */
@@ -447,7 +420,8 @@ protected void writeScenarioDetails() {
 				scenarioIndex += writeScenarioDetails(testResult.getFailedTestResults(), scenarioIndex);
 				scenarioIndex += writeScenarioDetails(testResult.getSkippedConfigurationResults(), scenarioIndex);
 				scenarioIndex += writeScenarioDetails(testResult.getSkippedTestResults(), scenarioIndex);
-				//	scenarioIndex += writeScenarioDetails(testResult.getPassedTestResults(), scenarioIndex);
+				// scenarioIndex += writeScenarioDetails(testResult.getPassedTestResults(),
+				// scenarioIndex);
 			}
 		}
 	}
@@ -463,8 +437,8 @@ private int writeScenarioDetails(List classResults, int startingSce
 			for (MethodResult methodResult : classResult.getMethodResults()) {
 				List results = methodResult.getResults();
 				assert !results.isEmpty();
-				//	ITestResult firstResult = results.iterator().next();
-				//	String methodName=firstResult.getName();
+				// ITestResult firstResult = results.iterator().next();
+				// String methodName=firstResult.getName();
 				String label = Utils
 						.escapeHtml(className + "#" + results.iterator().next().getMethod().getMethodName());
 				for (ITestResult result : results) {
@@ -873,5 +847,25 @@ public List getResults() {
 			return results;
 		}
 	}
+	
+	private static String getValueForKey(String key) {
+	    String value = System.getenv(key);
+	    if (value == null || value.isEmpty()) {
+	        try {
+	            java.lang.reflect.Field field = io.mosip.testrig.adminui.kernel.util.ConfigManager.class.getDeclaredField("propsKernel");
+	            field.setAccessible(true);
+	            Object props = field.get(null);
+	            if (props instanceof java.util.Properties) {
+	                value = ((java.util.Properties) props).getProperty(key);
+	            }
+	        } catch (Exception e) {
+	            value = "";
+	        }
+	    }
+
+	    return value;
+	}
+
+
 
 }
diff --git a/uitest-admin/src/main/resources/BulkUploadFiles/fra/device_type.csv b/uitest-admin/src/main/resources/BulkUploadFiles/fra/device_type.csv
new file mode 100644
index 00000000..aed9f671
--- /dev/null
+++ b/uitest-admin/src/main/resources/BulkUploadFiles/fra/device_type.csv
@@ -0,0 +1,2 @@
+code|name|name|description|langCode|isActive
+ABhGH1|ABChjJH1|ABChjJH1|For printing Documents|eng|TRUE
diff --git a/uitest-admin/src/main/resources/BulkUploadFiles/fra/machine_master.csv b/uitest-admin/src/main/resources/BulkUploadFiles/fra/machine_master.csv
new file mode 100644
index 00000000..414a37d1
--- /dev/null
+++ b/uitest-admin/src/main/resources/BulkUploadFiles/fra/machine_master.csv
@@ -0,0 +1,2 @@
+id|name|macAddress|serialNum|ipAddress|validityDateTime|machineSpecId|publicKey|keyIndex|signPublicKey|signKeyIndex|zoneCode|regCenterId|langCode|isActive
+5875513|technoABCDE|3C-2C-30-D1-E5-65|FB5962911688|192.168.0.408|2025-11-17T09:50:23.637Z|RESIDENT-1|AAEACwACAHIAIINxl2dEhLP4GpDMjUal1yT9UtduBlILZPKh2hszFGmqABAAFwALCAAAAQABAQDFEX4nLppAuHIfGzhYn7DR_3wAQkVnrPSFFaiV9TAvN0WHtH_hweGNNjUGYvyaowwmC8jsazufmnIoPisZIFraVQNWCA6N0RhZF_LisoTYDoQSM-ZbCKPxRTFnemtTwXHxQdlVWGUXst_WZIWC0OTSzJHbBg_iXQW1UOXRJL845GFOKjvOPQiEbOZgmoWslkTIAi7bf-AeWdEYuO3bwPf-T5Xxj_xH2-PTinQA_4itRWSrhG5kEU-zQHWGL72SiGzwOOoPnzZZv2X_9djpWGEz1gyNl5ionns8IfuQrvikSEMxm-E6Z9RfKNh2_rEHgnOR4gl0ju5kg_n9tnuUeXXP|18:C3:AB:91:22:88:15:5B:13:F7:67:E9:FE:12:00:34:3C:C9:B3:EE:CB:2F:Y6:32:4B:76:1D:3D:5A:3F:1A:7A|AAEABAAEAHIAAAAQABQACwgAAAEAAQEArjUwXvR8QvkWcp2KOqMhU-tK4YxPHdkkm9IN7azBolMoAs41uR32xp070AW5LfhQokuEskOF_dvRrqHw4JzWMXDRVSpBrW_k-OwLzNfeFvuKQ9JTAXdzKUOXbPgcLY1B5bJe9E7fn-gPKYki35RgwphHraSKaYZ1yELpXiT3KPoWXzDvZE5Lqx317bgMGh2RPkf80alJks-iv-aEPDWlSWE5jr3t68gUYx4r_eixdw6tx1ADGCqK1ZEKCul73ptnR8eWorN1njcxlxUaoECvf3rCEuvfZAprBKSWBEnaFPkfgc9lYSBwtP4YKJHttmPX0Dzc85wa6V19SIwNVEiCsQ|4D:58:8F:EC:C3:CB:0E:8C:D9:27:2E:56:F5:61:65:B8:11:28:89:26:20:4E:67:2Y:35:B1:55:2C:AD:9B:E1:5A|NTH|10002|eng|TRUE
diff --git a/uitest-admin/src/main/resources/README b/uitest-admin/src/main/resources/README
index 24934f2c..0942773c 100644
--- a/uitest-admin/src/main/resources/README
+++ b/uitest-admin/src/main/resources/README
@@ -2,7 +2,7 @@ This Repository is used for Admin Portal Automation.
 
 How To run : 
 	First Build Jar
-	Place VM args- java  -Dpath=https://admin.env.mosip.net/ -DKeyclockURL=https://iam.env.mosip.net -Denv.user=api-internal.env  -Denv.endpoint=https://api-internal.dev3.mosip.net -jar nameofAdminJar.jar
+	Place VM args- java  -Dpath=https://admin.env.mosip.net/ -DKeyclockURL=https://iam.env.mosip.net -Denv.endpoint=https://api-internal.env.mosip.net -Dpath.config=/src/main/resources/
 	Place jar in one folder along with src/main/resources files and folder and then run jar
 
 TestData Setup:
diff --git a/uitest-admin/src/main/resources/config/Kernel.properties b/uitest-admin/src/main/resources/config/Kernel.properties
index 2dbdeb09..6a2438ef 100644
--- a/uitest-admin/src/main/resources/config/Kernel.properties
+++ b/uitest-admin/src/main/resources/config/Kernel.properties
@@ -122,4 +122,5 @@ publicKey=AAEACwACAHIAIINxl2dEhLP4GpDMjUal1yT9UtduBlILZPKh2hszFGmqABAAFwALCAAAAQ
 signPublicKey=AAEABAAEAHIAAAAQABQACwgAAAEAAQEArjUwXvR8QvkWcplKOqMhU-tK4YxPHdkkm9IN7azBolMoAs41uR32xp070AW5LfhQokuEskOF_dvRrqHw4JzWMXDRVSpBrW_k-OwLzNfeFvuKQ9JTAXdzKUOXbPgcLY1B5bJe9E7fn-gPKYki35RgwphHraSKaYZ1yELpXiT3KPoWXzDvZE5Lqx317bgMGh2RPkf80alJks-iv-aEPDWlSWE5jr3t68gUYx4r_eixdw6tx1ADGCqK1ZEKCul73ptnR8eWorN1njcxlxUaoECvf3rCEuvfZAprBKSWBEnaFPkfgc9lYSBwtP4YKJHttmPX0Dzc85wa6V17SIwNVEiCsQ
 headless=yes
 docker=yes
-langcode=[{"language":"tam","value":"தமிழ\uFFFD"},{"language":"kan","value":"\u2022ನ\uFFFDನಡ"},{"language":"hin","value":"hin"},{"language":"eng1","value":"English"},{"language":"eng","value":"English"},{"language":"fra","value":"Français"},{"language":"ara","value":"Arabic"}]
+langcode = [{ "language": "tam", "value": "தமிழ்" },{ "language": "kan", "value": "ಕನ್ನಡ" },{ "language": "hin", "value": "हिन्दी" }, { "language": "eng1", "value": "English" },{ "language": "eng", "value": "English" },{ "language": "fra", "value": "Fran\u00E7ais" },{ "language": "ara", "value": "\u0639\u0631\u0628\u064A" }]
+
diff --git a/uitest-admin/src/main/resources/testngFile/testng.xml b/uitest-admin/src/main/resources/testngFile/testng.xml
index 1a853b3d..a72d9faa 100644
--- a/uitest-admin/src/main/resources/testngFile/testng.xml
+++ b/uitest-admin/src/main/resources/testngFile/testng.xml
@@ -1,42 +1,31 @@
-
-
+
+
 
-
-	
-	
-	
-	
-		
+
+    
+    
 
-			
-			
-		
-	
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
-			
+    
+        
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+            
+        
+    
 
-			
-		
-	
-		
-		
-	
-
-		
-			
-	
-
-
\ No newline at end of file
+    
+        
+    
+