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);
+
+ }
+}