package dataProvider; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.ITestContext; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; public class ITestContext_DP { WebDriver driver; @BeforeMethod(groups={"One","Two"}) public void setUp(){ //Initializing Driver System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe"); driver = new FirefoxDriver(); //Opening search engine driver.get("https://google.com"); } @AfterMethod(groups={"One","Two"}) public void tearDown(){ driver.quit(); } @Test(dataProvider="searchKey" , groups="One") public void testMethodOne(String monument,String city) throws InterruptedException{ WebElement searchBox=driver.findElement(By.name("q")); searchBox.sendKeys(monument +" "+city); System.out.println("You are trying to search " +monument+ " which is in " +city); WebElement srchBtn = driver.findElement(By.name("btnK")); srchBtn.submit(); Thread.sleep(3000); System.out.println("The page title is: " +driver.getTitle()); } @Test(dataProvider="searchKey" , groups="Two") public void testMethodTwo(String location) throws InterruptedException{ WebElement searchBox=driver.findElement(By.name("q")); searchBox.sendKeys(location); System.out.println("You are trying to search : " +location); WebElement srchBtn = driver.findElement(By.name("btnK")); srchBtn.submit(); Thread.sleep(3000); System.out.println("The page title is: " +driver.getTitle()); } @DataProvider(name="searchKey") public Object[][] getDataProviderData(ITestContext c){ Object[][] grpArr = null; for (String grp : c.getIncludedGroups()){ if(grp.equalsIgnoreCase("One")){ grpArr = new Object[][]{ { "India Gate", "Delhi" }, { "Taj Mahal", "Agra" }, { "Char Minar", "Hyderabad" } }; break; } else if(grp.equalsIgnoreCase("Two")){ grpArr = new Object[][]{ {"Paris"}, {"Cairo"}, {"Washington"} }; } } return grpArr; } }