当前位置: 首页 > 知识库问答 >
问题:

从Excel读取时出现空指针异常?[副本]

秦建元
2023-03-14
public class ExecuteTest {
@Test

public void testLogin() throws Exception {
    // TODO Auto-generated method stub
`WebDriver webdriver = new FirefoxDriver();

ReadExcelFile file = new ReadExcelFile();
ReadObject object = new ReadObject();
Properties allObjects = object.getObjectRepository();
UIOperation operation = new UIOperation(webdriver);
//Read keyword sheet
Sheet RDSheet = file.readExcel(System.getProperty("user.dir")+"\\","TestCase.xlsx" , "KeywordFramework");
//Find number of rows in excel file
int rowCount =        //Loop over all the rows RDSheet.getLastRowNum()-RDSheet.getFirstRowNum();
    //Create a loop over all the rows of excel file to read it
    for (int i = 1; i < rowCount+1; i++) {
        Row row = RDSheet.getRow(i);
        //Check if the first cell contain a value, if yes, That means it is the new testcase name
    if(row.getCell(0).toString().length()==0){
        //Print testcase detail on console
        System.out.println(row.getCell(1).toString()+"----"+ row.getCell(2).toString()+"----"+
        row.getCell(3).toString()+"----"+ row.getCell(4).toString());
        //Call perform function to perform operation on UI
        operation.perform(allObjects, row.getCell(1).toString(), row.getCell(2).toString(),
                row.getCell(3).toString(), row.getCell(4).toString());
     }
else{

//Print the new testcase name when it started
            System.out.println("New Testcase->"+row.getCell(0).toString() +" Started");
            }
}
}
}

当第一个单元格为空时,获取空指针异常。我已经搜索了很多博客,但找不到任何解决方案,请任何人帮助我与代码

共有1个答案

汤昊
2023-03-14

对于每个.tostring()添加一个“”+x.tostring(),这样值就不会变成空值。`

for (int i = 1; i < rowCount+1; i++) {
        Row row = RDSheet.getRow(i);
        //Check if the first cell contain a value, if yes, That means it is the new testcase name
    if((row.getCell(0)+"").toString().length()==0){
        //Print testcase detail on console
        System.out.println((row.getCell(1)+"").toString()+"----"+ (row.getCell(2)+"").toString()+"----"+
        (row.getCell(3)+"").toString()+"----"+ (row.getCell(4)+"").toString());
        //Call perform function to perform operation on UI
        //your operations
     }
else{

//Print the new testcase name when it started
            System.out.println("New Testcase->"+row.getCell(0).toString() +" Started");
            }
}


`
 类似资料:
  • 我知道为什么会出现错误:这是因为我想读取数据的表(Htest)为null。 我检查了我的excel,有一张正确名称为“htest”的表。 我还检查了工作簿中的工作表数。它返回工作簿的正确页数 我不知道为什么工作簿中的工作表是可用的,但代码返回null??我错过了什么?有人有同样的问题吗?或者你能给我一个提示来使用它吗? 谢谢你。 错误是:

  • 以下是在sun.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在sun.reflect.NativeMethodAccessorImpl.Invoke(未知源)在java.lang.Reflect.Method.Invoke(未知源)在com.codena

  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 问题内容: 此代码导致空指针异常。我不知道为什么: 我已经在调试器中检查了它,所有局部变量都不为空。怎么会这样呢?BiMap来自Google Collections。 问题答案: 空指针异常是将的结果拆箱的结果。如果不包含键,则返回“ of type” 。假设分配是给引用的,Java将值拆箱到中,导致空指针异常。 您应该检查或用作局部变量类型,以免取消装箱并采取相应措施。适当的机制取决于您的上下文

  • 我有4个图像作为按钮,当选择正确的按钮时,会出现一个工作正常的箭头按钮。 我的问题是,我试图更改每个按钮的后台资源以在单击此箭头时进行更改,但我在该行得到一个空指针异常: 我已经在java onCreate中声明了nextArrow按钮- 类别: 日志: XML: 我错过了什么明显的东西吗?