【发布时间】:2015-08-04 20:31:34
【问题描述】:
我尝试将包含 7 个名为 Excel.xls 工作表的列的 Excel 工作表复制到 ExcelCopy.xls 中,但是在 @After Test 处出现 Java Null Exception 错误,并且对于这种 selenium 编码非常陌生,请帮助我!
package TestNG;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class DuplicateExcelSheet {
WebDriver driver;
WebDriverWait wait;
Workbook w;
Sheet s;
FileInputStream fi;
FileOutputStream fo;
WritableWorkbook ww;
WritableSheet ws;
@Test
public void f() throws Exception{
int colCount=s.getColumns();
System.out.println(colCount);
ww=Workbook.createWorkbook(fo, w);
ws=ww.createSheet("Data", 0);
for (int i = 0; i < colCount; i++)
{
String s1=s.getCell(i, 0).getContents();
Label l=new Label(i,0,s1);
ws.addCell(l);
}
}
@BeforeTest
public void beforeTest() throws Exception{
fi=new FileInputStream("E:\\selenium\\Excel.xls");
w=Workbook.getWorkbook(fi);
s=w.getSheet(0);
fo=new FileOutputStream("E:\\selenium\\ExcelCopy.xls");
}
@AfterTest
public void afterTest() throws Exception{
ww.write();
w.close();
fi.close();
fo.close();
}
}
【问题讨论】:
-
NullPointerException 发生在哪一行?
-
@AfterTest afterTest java.lang.NullPointerException at TestNG.DuplicateExcelSheet.afterTest(DuplicateExcelSheet.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 的错误是这样的
-
@rahulbommanaboina 查看我的答案