diff --git a/pom.xml b/pom.xml index 60b732b..9b0bec5 100644 --- a/pom.xml +++ b/pom.xml @@ -9,5 +9,10 @@ selenium-java 3.141.59 + + org.apache.poi + poi-ooxml + 3.17 + \ No newline at end of file diff --git a/src/main/java/com/osa/base/Base.java b/src/main/java/com/osa/base/Base.java new file mode 100644 index 0000000..adb9b89 --- /dev/null +++ b/src/main/java/com/osa/base/Base.java @@ -0,0 +1,23 @@ +package com.osa.base; + +import org.openqa.selenium.WebDriver; +import org.testng.annotations.AfterClass; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; + +public class Base { +public WebDriver dr; +@BeforeClass +public void beforeClass() { + dr= Browser.openBrowser("chrome"); +} +@BeforeMethod +public void beforeMethod() { + dr.get("https://www.osaconsultingtech.com"); +} +@AfterClass +public void afterClass() { + dr.close(); +} + +} diff --git a/src/main/java/com/osa/base/Browser.java b/src/main/java/com/osa/base/Browser.java index 75e3801..463d3db 100644 --- a/src/main/java/com/osa/base/Browser.java +++ b/src/main/java/com/osa/base/Browser.java @@ -5,18 +5,26 @@ import org.openqa.selenium.firefox.FirefoxDriver; public class Browser { -public static void main(String[] args) { - WebDriver dr=openBrowser("firefox"); - dr.get("https://www.osaconsultingtech.com"); -} public static WebDriver openBrowser(String browser) { WebDriver dr=null; - if(browser.toLowerCase().equals("chrome")) { - System.setProperty("webdriver.chrome.driver", "src\\main\\resources\\drivers\\chromedriver.exe"); - dr=new ChromeDriver(); - }else if(browser.toLowerCase().equals("firefox")) { - System.setProperty("", ""); - dr=new FirefoxDriver(); + if(System.getProperty("os.name").toLowerCase().contains("windows")) { + System.out.println("===========The test is running on "+System.getProperty("os.name")+"=========="); + if(browser.toLowerCase().equals("chrome")) { + System.setProperty("webdriver.chrome.driver", "src\\main\\resources\\drivers\\win\\chromedriver.exe"); + dr=new ChromeDriver(); + }else if(browser.toLowerCase().equals("firefox")) { + System.setProperty("", ""); + dr=new FirefoxDriver(); + } + }else { + System.out.println("===========The test is running on "+System.getProperty("os.name")+"=========="); + if(browser.toLowerCase().equals("chrome")) { + System.setProperty("webdriver.chrome.driver", "src/main/resources/drivers/mac/chromedriver"); + dr=new ChromeDriver(); + }else if(browser.toLowerCase().equals("firefox")) { + System.setProperty("", ""); + dr=new FirefoxDriver(); + } } return dr; } diff --git a/src/main/java/com/osa/base/Testing.java b/src/main/java/com/osa/base/Testing.java new file mode 100644 index 0000000..e1bd4e5 --- /dev/null +++ b/src/main/java/com/osa/base/Testing.java @@ -0,0 +1,44 @@ +package com.osa.base; + +import org.testng.annotations.AfterClass; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.AfterTest; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.BeforeTest; +import org.testng.annotations.Test; + +public class Testing { + @Test + public void test1() { + System.out.println("Test one method"); + } + @Test + public void test2() { + System.out.println("Test Two method"); + } + @BeforeClass + public void beforeClass() { + System.out.println("Before Class method"); + } + @AfterClass + public void afterClass() { + System.out.println("After Class method"); + } + @BeforeTest + public void beforeTest() { + System.out.println("Before Test method"); + } + @AfterTest + public void afterTest() { + System.out.println("After Test method"); + } + @BeforeMethod + public void beforeMethod() { + System.out.println("Before Method method"); + } + @AfterMethod + public void afterMethod() { + System.out.println("After Method method"); + } +} diff --git a/src/main/java/com/osa/fiels/FileManager.java b/src/main/java/com/osa/fiels/FileManager.java index 40940df..870e86c 100644 --- a/src/main/java/com/osa/fiels/FileManager.java +++ b/src/main/java/com/osa/fiels/FileManager.java @@ -1,5 +1,61 @@ package com.osa.fiels; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.util.Iterator; + +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.DataFormatter; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class FileManager { +public static void main(String[] args) { + + + Object data[][]=readExcelFile("src\\test\\resources\\Book1.xlsx","TestData"); + for (int i=1; i rowIterator=sheet.rowIterator(); + int rowCount=0; + while(rowIterator.hasNext()) { + Row row=rowIterator.next(); + Iterator cellIterator=row.cellIterator(); + int colCount=0; + while(cellIterator.hasNext()) { + Cell cell=cellIterator.next(); + data[rowCount][colCount]=formatter.formatCellValue(cell); + colCount++; + } + rowCount++; + } + }catch(Exception e) { + System.out.println(e.getMessage()); + } + return data; + } } + + + + diff --git a/src/main/java/com/osa/test/HomePage.java b/src/main/java/com/osa/test/HomePage.java new file mode 100644 index 0000000..5dc253d --- /dev/null +++ b/src/main/java/com/osa/test/HomePage.java @@ -0,0 +1,32 @@ +package com.osa.test; + +import org.openqa.selenium.By; +import org.testng.Assert; +import org.testng.annotations.Test; +import com.osa.base.Base; +import com.osa.utility.Utils; + +public class HomePage extends Base { + +@Test +public void verifyHomePageTitle() { + Utils.verifyTitle("OSA Consulting Tech Corp || Best Available Resources For Software Industry", dr.getTitle()); + } +@Test +public void verifyForumPageTitle() { + dr.findElement(By.xpath("//a[text()='Forum']")).click(); + Utils.verifyTitle("OSA Consulting Tech - All the projects.", dr.getTitle()); +} +@Test +public void verifyForumLogin() throws InterruptedException { + Thread.sleep(5000); + dr.findElement(By.xpath("//a[text()='Forum']")).click(); + Thread.sleep(5000); + dr.findElement(By.id("username")).sendKeys("xyz@yahoo.com"); + Thread.sleep(5000); + dr.findElement(By.id("password")).sendKeys("mypassword"); + Thread.sleep(5000); + dr.findElement(By.id("login_button")).click(); +} + +} diff --git a/src/main/java/com/osa/utility/Utils.java b/src/main/java/com/osa/utility/Utils.java index 9b50625..95b8b86 100644 --- a/src/main/java/com/osa/utility/Utils.java +++ b/src/main/java/com/osa/utility/Utils.java @@ -1,5 +1,15 @@ package com.osa.utility; +import org.testng.Assert; + public class Utils { + public static void verifyTitle(String expected, String actual) { + if(expected.equals(actual)) { + System.out.println("The test is Passed"); + }else { + System.out.println("The test is Failed"); + Assert.assertEquals(actual,expected); + } + } } diff --git a/src/main/resources/drivers/chromedriver.exe b/src/main/resources/drivers/win/chromedriver.exe similarity index 100% rename from src/main/resources/drivers/chromedriver.exe rename to src/main/resources/drivers/win/chromedriver.exe diff --git a/src/test/resources/Book1.xlsx b/src/test/resources/Book1.xlsx new file mode 100644 index 0000000..63e8ef2 Binary files /dev/null and b/src/test/resources/Book1.xlsx differ diff --git a/target/classes/com/osa/base/Browser.class b/target/classes/com/osa/base/Browser.class index 9c0b934..254e1ab 100644 Binary files a/target/classes/com/osa/base/Browser.class and b/target/classes/com/osa/base/Browser.class differ