diff --git a/AmazonDataSearch.java b/AmazonDataSearch.java new file mode 100644 index 000000000000..96fac385c282 --- /dev/null +++ b/AmazonDataSearch.java @@ -0,0 +1,107 @@ +import java.time.LocalDateTime; +import java.util.concurrent.TimeUnit; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; + +import Utilities.ExcelUtils; + +public class AmazonDataSearch { + + static WebDriver driver; + WebElement results; + WebElement search; + + @BeforeClass + public static void setUp() { + // System.setProperty("webdriver.chrome.driver"," ") + + driver = new ChromeDriver(); + driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); + driver.get("https://www.amazon.com"); + } + + @Test + public void searchTest() { + ExcelUtils.openExcelFile("./src/test/resources/ExcelData/amazon.xlsx", "sheet1"); + int rowsCount = ExcelUtils.getUsedRowsCount(); + for (int rowNum = 1; rowNum < rowsCount; rowNum++) { + + String searchItem = ExcelUtils.getCellData(rowNum, 1); + + searchFor(searchItem); + String resultText = getSearchResult(); + int resultCount = cleanupSearchResultsCount(resultText); + ExcelUtils.setCellData(String.valueOf(resultCount), rowNum, 2); + System.out.println("Search count is : " + resultCount); + + if (resultCount > 0) { + System.out.println("Search Test pass"); + ExcelUtils.setCellData("pass", rowNum, 3); + } else { + System.out.println("Search Test fail"); + ExcelUtils.setCellData("fail", rowNum, 3); + } + String now = LocalDateTime.now().toString(); + ExcelUtils.setCellData(now, rowNum, 4); + } + + // driver.findElement(By.id("twotabsearchtextbox")).sendKeys("Cucumber + // book"+Keys.ENTER); + // String results=driver.findElement(By.id("s-result-count")).getText(); + // System.out.println(results); + // int numberOfResults=cleanupSearchResultsCount(results); + // if(numberOfResults > 0){ + // System.out.println("PASS"); + // }else{ + // System.out.println("FAIL"); + // } + } + + public String getSearchResult() { + + try { + Thread.sleep(3000); + } catch (InterruptedException e1) { + + e1.printStackTrace(); + } + + try { + results = driver.findElement(By.id("s-result-count")); + } catch (Exception e) { + return "0 result"; + } + return results.getText(); + } + + public void searchFor(String item) { + search = driver.findElement(By.id("twotabsearchtextbox")); + search.clear(); + search.sendKeys(item + Keys.ENTER); + } + + public int cleanupSearchResultsCount(String searchResult) { + int resultsCount; + String longOne = searchResult; + String[] resultArr = searchResult.split(" "); + if (longOne.contains("of")) { + resultsCount = Integer.parseInt(resultArr[2].replace(",", "")); + } else { + resultsCount = Integer.parseInt(resultArr[0]); + } + return resultsCount; + } + + @AfterClass + public static void tearDown() { + driver.quit(); + } +} diff --git a/ExcelAutomation-0.0.1-SNAPSHOT.jar b/ExcelAutomation-0.0.1-SNAPSHOT.jar new file mode 100644 index 000000000000..aa9e2dcd599b Binary files /dev/null and b/ExcelAutomation-0.0.1-SNAPSHOT.jar differ