i was trying to use data provider with the help of itestcontext but i am facing some challenge in it please help me experts where i am doing mistake. i am very new for it please help me exactly where the code is missed or incorrect code is written by me.
package MethodPackage;
import java.lang.reflect.Method;
import java.util.concurrent.TimeUnit;
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.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
public class MethodClass {
WebDriver driver;
@BeforeTest(groups={"A","B"})
public void setup()
{
driver=new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);
driver.get("https://google.com");
}
@Test(dataProvider="searchprovider", groups="A")
public void funtion1(String first,String Second) {
WebElement searchtextbx=driver.findElement(By.id("sb_ifc0"));
searchtextbx.sendKeys(first);
WebElement searchtextbxinner=driver.findElement(By.id("gs_htif0"));
String getvalue=searchtextbxinner.getAttribute("value");
System.out.println("Hello haryy this is outer value"+ first+"this is inner"+getvalue);
}
@Test(dataProvider="searchprovider", groups="B")
public void funtion2(String first,String Second) {
WebElement searchtextbx=driver.findElement(By.id("sb_ifc0"));
searchtextbx.sendKeys(first);
WebElement searchtextbxinner=driver.findElement(By.id("gs_htif0"));
String getvalue=searchtextbxinner.getAttribute("value");
System.out.println("Hello haryy this is outer value"+ first+"this is inner"+getvalue);
}
@DataProvider(name="searchprovider")
public Object[][] getdata(ITestContext m)
{
Object[][] objarray=null;
for(String group:m.getIncludedGroups())
{
if(group.equalsIgnoreCase("A"))
{
objarray= new Object[][]{{"lahore","jase"}};
return objarray;
}
else
{
objarray= new Object[][]{{"lolu","polu"}};
return objarray;
}
}
return objarray ;
}
}
Hello All this is Error message is:-
[TestNG] Running:
C:\Users\harbans.lal\AppData\Local\Temp\testng-eclipse--818417594\testng-customsuite.xml
SKIPPED: funtion1
java.lang.NullPointerException
at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:150)
at org.testng.internal.Parameters.handleParameters(Parameters.java:430)
at org.testng.internal.Invoker.handleParameters(Invoker.java:1276)
at org.testng.internal.Invoker.createParameters(Invoker.java:992)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1082)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:773)
at org.testng.TestRunner.run(TestRunner.java:623)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
at org.testng.SuiteRunner.run(SuiteRunner.java:259)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1185)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1110)
at org.testng.TestNG.run(TestNG.java:1018)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
SKIPPED: funtion2
java.lang.NullPointerException
at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:150)
at org.testng.internal.Parameters.handleParameters(Parameters.java:430)
at org.testng.internal.Invoker.handleParameters(Invoker.java:1276)
at org.testng.internal.Invoker.createParameters(Invoker.java:992)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1082)
at org.testng.internal.TestMethodWorker.invoke
Aucun commentaire:
Enregistrer un commentaire