Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Testng数据提供程序无法使用数据驱动_Java_Selenium Webdriver_Testng_Testng Dataprovider - Fatal编程技术网

Java 使用Testng数据提供程序无法使用数据驱动

Java 使用Testng数据提供程序无法使用数据驱动,java,selenium-webdriver,testng,testng-dataprovider,Java,Selenium Webdriver,Testng,Testng Dataprovider,我正试图使用apachepoi和testng数据提供程序从excel读取数据,但testng正在跳过我的测试方法 下面是我得到的错误 SKIPPED: VerifyLoanDetails java.lang.RuntimeException: java.lang.NullPointerException Caused by: java.lang.NullPointerException at com.seleniumhybrid.utils.ExcelUtil.getTestdata(Exce

我正试图使用
apachepoi
testng
数据提供程序从excel读取数据,但
testng
正在跳过我的测试方法

下面是我得到的错误

SKIPPED: VerifyLoanDetails
java.lang.RuntimeException: java.lang.NullPointerException

Caused by: java.lang.NullPointerException at com.seleniumhybrid.utils.ExcelUtil.getTestdata(ExcelUtil.java:62) at com.seleniumdata.zmartano.LoanDetails.getdata(LoanDetails.java:50)
下面是我从excel中读取数据的类

public class ExcelUtil{

    static Workbook book;
    static Sheet  sheet;
    public static String Testdata_sheet = Constants.path_TestData;



    public static Object  [][] getTestdata(String sheetname) {



        FileInputStream file = null;
        try{
        file = new FileInputStream(Testdata_sheet);
        }
        catch(FileNotFoundException e) {

            e.printStackTrace();
        }


        try {

            book = WorkbookFactory.create(file);
        }
        catch(InvalidFormatException e ) {

            e.printStackTrace();
        }

        catch (IOException e) {

            e.printStackTrace();

        }


        sheet = book.getSheet(sheetname);

        Object [][]data = new Object[sheet.getLastRowNum()][sheet.getRow(0).getLastCellNum()];
        for (int i=0;i<sheet.getLastRowNum();i++) {

            for(int k=0;k<sheet.getRow(0).getLastCellNum();k++) {

                data[i][k]= sheet.getRow(i+1).getCell(k).toString();

            }


        }

        return data;



    }
}

在哪一行抛出异常?
getTestdata()
中是否有捕获到的异常?我建议您调试它,看看会发生什么。@Guy它在中显示错误是由以下原因引起的:com.seleniumhybrid.utils.ExcelUtil.getTestdata(ExcelUtil.java:62)com.seleniumdata.zmartano.LoandDetails.getdata(LoandDetails.java:50)中的java.lang.NullPointerException异常在
getTestdata()中的某个地方。您需要调试这个方法,看看会发生什么,或者从那里删除所有的
try-catch
块,看看问题出在哪里。我敢打赌,这些块掩盖了真正的问题,它们没有任何意义,没有这些数据测试就无法运行,处理异常也无济于事。TestNG没有任何问题。请检查您已编写的POI包装。poi包装器似乎没有向数据提供程序提供任何数据。检查excel中的变量初始化和值类型。@Amit您能看一下吗
public class LoanDetails extends Configreader{



                  WebDriver driver;     

   @BeforeTest
        public  void beforetest() throws Exception { 

                  driver = Browser.GetBrowser();




       }






    @Test(dataProvider = "getdata")

   public  void VerifyLoanDetails(String username) throws Exception {


    driver.findElement(By.xpath(pro.getProperty("account_xpath"))).click();
    driver.findElement(By.xpath(pro.getProperty("username_id"))).sendKeys(username);


    }


    @DataProvider
    public Object[][] getdata(){

        Object data [][] = ExcelUtil.getTestdata("credentials");


        return data;


    }
}