diff --git a/openmrs/DEV.xml b/openmrs/DEV.xml new file mode 100644 index 0000000..8898b01 --- /dev/null +++ b/openmrs/DEV.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/openmrs/IEDriverServer.exe b/openmrs/IEDriverServer.exe new file mode 100644 index 0000000..60fea68 Binary files /dev/null and b/openmrs/IEDriverServer.exe differ diff --git a/openmrs/QA.xml b/openmrs/QA.xml new file mode 100644 index 0000000..fcd0539 --- /dev/null +++ b/openmrs/QA.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/openmrs/chromedriver.exe b/openmrs/chromedriver.exe new file mode 100644 index 0000000..fb73769 Binary files /dev/null and b/openmrs/chromedriver.exe differ diff --git a/openmrs/geckodriver.exe b/openmrs/geckodriver.exe new file mode 100644 index 0000000..041f4a6 Binary files /dev/null and b/openmrs/geckodriver.exe differ diff --git a/openmrs/pom.xml b/openmrs/pom.xml new file mode 100644 index 0000000..bef3e24 --- /dev/null +++ b/openmrs/pom.xml @@ -0,0 +1,113 @@ + + 4.0.0 + + org.tq + openmrs + 0.0.1-SNAPSHOT + jar + + openmrs + http://maven.apache.org + + + + 1.8 + 1.8 + + UTF-8 + + + + QA + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + 0 + + QA.xml + + + + + + maven-compiler-plugin + 3.1 + + true + C:\Program Files\Java\jdk1.8.0_65\bin\javac.exe + + + + + + + + + + + + + + DEV + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18.1 + + 0 + + DEV.xml + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + 1.8 + 1.8 + + + + + + + + + + + + + + + + + + + org.seleniumhq.selenium + selenium-java + 3.13.0 + + + org.testng + testng + 6.8 + + + + net.sourceforge.jexcelapi + jxl + 2.6 + + + + diff --git a/openmrs/src/main/java/org/tq/openmrs/pages/HomePage.java b/openmrs/src/main/java/org/tq/openmrs/pages/HomePage.java new file mode 100644 index 0000000..0a1c813 --- /dev/null +++ b/openmrs/src/main/java/org/tq/openmrs/pages/HomePage.java @@ -0,0 +1,20 @@ +package org.tq.openmrs.pages; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; + +public class HomePage { + + WebDriver driver; + public HomePage(WebDriver driver) + { + this.driver = driver; + } + public void navigateToServiceTypes() + { + + //Navigate to ManageServiceTypes + driver.findElement(By.id("appointmentschedulingui-homeAppLink-appointmentschedulingui-homeAppLink-extension")).click(); + driver.findElement(By.id("appointmentschedulingui-manageAppointmentTypes-app")).click(); + } +} diff --git a/openmrs/src/main/java/org/tq/openmrs/pages/LoginPage.java b/openmrs/src/main/java/org/tq/openmrs/pages/LoginPage.java new file mode 100644 index 0000000..7471a52 --- /dev/null +++ b/openmrs/src/main/java/org/tq/openmrs/pages/LoginPage.java @@ -0,0 +1,23 @@ +package org.tq.openmrs.pages; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; + +public class LoginPage { + + + WebDriver driver; + public LoginPage(WebDriver driver) + { + this.driver = driver; + } + public void login(String username,String password) + { + //login + driver.findElement(By.id("username")).sendKeys(username); + driver.findElement(By.id("password")).sendKeys(password); + driver.findElement(By.id("Inpatient Ward")).click(); + driver.findElement(By.id("loginButton")).click(); + + } +} diff --git a/openmrs/src/main/java/org/tq/openmrs/pages/LogoutPage.java b/openmrs/src/main/java/org/tq/openmrs/pages/LogoutPage.java new file mode 100644 index 0000000..c249aae --- /dev/null +++ b/openmrs/src/main/java/org/tq/openmrs/pages/LogoutPage.java @@ -0,0 +1,20 @@ +package org.tq.openmrs.pages; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; + +public class LogoutPage { + + + WebDriver driver; + public LogoutPage(WebDriver driver) + { + this.driver = driver; + } + public void logout() + { + //Logout + driver.findElement(By.cssSelector(".logout>a")).click(); + + } +} diff --git a/openmrs/src/main/java/org/tq/openmrs/pages/ManageServiceTypesPage.java b/openmrs/src/main/java/org/tq/openmrs/pages/ManageServiceTypesPage.java new file mode 100644 index 0000000..de06275 --- /dev/null +++ b/openmrs/src/main/java/org/tq/openmrs/pages/ManageServiceTypesPage.java @@ -0,0 +1,102 @@ +package org.tq.openmrs.pages; + +import java.util.HashMap; +import java.util.List; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; + +public class ManageServiceTypesPage { + + WebDriver driver; + public ManageServiceTypesPage(WebDriver driver) + { + this.driver = driver; + } + public HashMap addServiceType(String serviceName) + { + + HashMap hMap = new HashMap(); + + driver.findElement(By.cssSelector(".confirm.appointment-type-label.right")).click(); + driver.findElement(By.id("name-field")).clear(); + hMap.put("serviceName", serviceName); + driver.findElement(By.id("name-field")).sendKeys(serviceName); + hMap.put("duration","10"); + driver.findElement(By.id("duration-field")).sendKeys("10"); + hMap.put("description","Adding Service Type"); + driver.findElement(By.id("description-field")).sendKeys("Adding Service Type"); + driver.findElement(By.id("save-button")).click(); + return hMap; + + } + public boolean isServiceTypeAvailable(String serviceName) + { + + boolean result = false; + //Identify the List of Pages and navigate to every page + List pageList = driver.findElements(By.cssSelector("#appointmentTypesTable_paginate>span>a")); + System.out.println("Size of pagesList" + pageList.size()); + outer: + for(int i=0;ispan>a")); + pageList.get(i).click(); + + List trList = driver.findElements(By.cssSelector("#appointmentTypesTable>tbody>tr>td:nth-of-type(1)")); + System.out.println("Size of the Table row Lst " + trList.size()); + for(int j=0;j hMap) + { + + boolean result = false; + //Identify the List of Pages and navigate to every page + List pageList = driver.findElements(By.cssSelector("#appointmentTypesTable_paginate>span>a")); + System.out.println("Size of pagesList" + pageList.size()); + outer: + for(int i=0;ispan>a")); + pageList.get(i).click(); + + List trList = driver.findElements(By.cssSelector("#appointmentTypesTable>tbody>tr>td:nth-of-type(1)")); + System.out.println("Size of the Table row Lst " + trList.size()); + for(int j=0;j hMap = servicePage.addServiceType(serviceName); + boolean result = servicePage.isServiceTypeAvailable(hMap); + Assert.assertTrue(result); + logoutPage.logout(); + } + + + @Test(dataProvider="DP") + public void verifyListServiceTypeAvailable(String username,String password,String serviceName) + { + LoginPage lPage = new LoginPage(driver); + HomePage hPage = new HomePage(driver); + ManageServiceTypesPage servicePage = new ManageServiceTypesPage(driver); + LogoutPage logoutPage = new LogoutPage(driver); + lPage.login(username,password); + hPage.navigateToServiceTypes(); + boolean result = servicePage.isServiceTypeAvailable(serviceName); + Assert.assertTrue(result); + logoutPage.logout(); + } + + @DataProvider(name="DP") + public String[][] feedData() throws jxl.read.biff.BiffException, IOException + { + return readXLSFile("InputData.xls", "sanity"); + } +} diff --git a/openmrs/src/test/java/org/tq/openmrs/tests/ParametersEx.java b/openmrs/src/test/java/org/tq/openmrs/tests/ParametersEx.java new file mode 100644 index 0000000..fb09165 --- /dev/null +++ b/openmrs/src/test/java/org/tq/openmrs/tests/ParametersEx.java @@ -0,0 +1,21 @@ +package org.tq.openmrs.tests; + +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import org.tq.util.BaseClass; + + +public class ParametersEx extends BaseClass{ + + + + @Parameters({"username","password"}) + @Test + public void login(String username,String password) + { + System.out.println(driver.getTitle()); + System.out.println("username value " + username); + System.out.println("password value " + password); + + } +}