Selenium自动化测试过程中,模拟用户操作能实现后需要测试结果输出,这是一个比较重要的过程
1.用system.IO 读写来实现,如果使用这个方式,每个测试生成一个报告,容易开启太多的线程,占用内存太多
FileStream ofs1 = new FileStream(path1, FileMode.Create); StreamWriter owr = new StreamWriter(ofs);
2.开发帮助说使用vs com组件里边的引用,如下链接,感觉这个实现方式还更麻烦哪
http://blog.csdn.net/gisfarmer/article/details/3738959
3.再询问一个测试网友,他说可以用NPOI来实现,直接引用dll,写几句代码就能实现了,
下载地址: http://npoi.codeplex.com/releases
新建ecxel表格,在第一行第一列添加内容
excel行从1开始,NPOI内部从0开始;excel列从字母开始,NPOI是数字表示,记得转换
public void NPOITest() { HSSFWorkbook hssWorkbook = new HSSFWorkbook(); ISheet hssSheet = hssWorkbook.CreateSheet( " new sheet " ); hssSheet.CreateRow( 0 ).CreateCell( 0 ).SetCellValue( " This a sample " ); FileStream fs = new FileStream( @" d:\temp\test.xls " , FileMode.Create); hssWorkbook.Write(fs); fs.Close(); }
在已有的test.xls添加数据
public void TestExcel() { FileStream file = new FileStream( @" d:\temp\test.xls " , FileMode.Open, FileAccess.Read); HSSFWorkbook hssfWork = new HSSFWorkbook(file); ISheet iSheet = hssfWork.GetSheet( " new sheet " ); // 获取所有行数,然后再+1的基础上加入数据 (lastRowNum是当前数据的最后一行) iSheet.CreateRow(iSheet.LastRowNum+ 1 ).CreateCell( 0 ).SetCellValue( " testtest " ); FileStream fss = new FileStream( @" d:\temp\test.xls " , FileMode.Create); hssfWork.Write(fss); file.Close(); }