vendredi 15 janvier 2016

Please help experts why functions are skipped in dataprovider with itestcontext

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