package com.visionit.tc;
import org.testng.annotations.Test;
import org.testng.asserts.Assertion;
import org.testng.annotations.BeforeMethod;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
public class SmokeTests {
@Test
public void TC_01_InvokeCSCartURLAndValidate() {
System.setProperty("webdriver.chrome.driver", "E:\\_AkashStuff\\Automation\\dependencies\\chromedriver\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.manage().deleteAllCookies();
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
driver.get("https://demo.cs-cart.com/stores/78f9102f62336286/");
String s_expected_title = "Shopping Cart Software & Ecommerce Software Solutions by CS-Cart";
String s_actual_title = driver.getTitle();
Assert.assertEquals(s_expected_title, s_actual_title);
//FInd elements
WebElement txtbx_searchInput = driver.findElement(By.id("search_input"));
boolean b_expected_searchbox = true;
boolean b_actual_serarchbox = txtbx_searchInput.isDisplayed();
Assert.assertEquals(b_expected_searchbox, b_actual_serarchbox);
}
@Test
public void TC_02_ValidateSearchFuntionality() {
//**************************************************
//**********************Pre*************************
//**************************************************
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.manage().deleteAllCookies();
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
driver.get("https://demo.cs-cart.com/stores/78f9102f62336286/");
String s_expected_title = "Shopping Cart Software & Ecommerce Software Solutions by CS-Cart";
String s_actual_title = driver.getTitle();
Assert.assertEquals(s_expected_title, s_actual_title);
//FInd elements
WebElement txtbx_searchInput = driver.findElement(By.id("search_input"));
boolean b_expected_searchbox = true;
boolean b_actual_serarchbox = txtbx_searchInput.isDisplayed();
Assert.assertEquals(b_expected_searchbox, b_actual_serarchbox);
//**************************************************
//***************Actual Test Steps******************
//**************************************************
//Enter Computer in Search Box
txtbx_searchInput.sendKeys("Computer");
//Click on Submit
driver.findElement(By.xpath("//button[@class = 'ty-search-magnifier']")).click();
WebElement panel_product_search = driver.findElement(By.id("products_search_11"));
//Checkpoint 1: for Product Search panel
Assert.assertEquals(panel_product_search.isDisplayed(), true);
//Checkpoint 2: Validate and Print Products displayed
List<WebElement> list_products =
driver.findElements(By.xpath("//a[@class='product-title'"));
for (int i = 0;i<=list_products.size();i++) {
String p = list_products.get(i).getText();
if ((p.contains("ASUS")) || (p.contains("CASIO")) ) {
Assert.assertTrue(true);
// break;
}else {
Assert.assertTrue(false);
}
//Assert.assertTrue(p.contains("ASUS"));
}//end for
}//end class
@BeforeMethod
public void beforeMethod() {
}
@AfterMethod
public void afterMethod() {
}
}