excel表格显示被保护单元格不支持此功能是什么意思,早期版本的excel不支持此工作簿中的以下功能怎么解决
终极管理员 知识笔记 56阅读
在JUnit里面可以使用CsvFileSource读取csv文件进行参数化测试可是CSV文件不支持格式编辑颇为麻烦尤其是多次编辑因此自然想到是否可以使用Excel文件可以有各种格式支持各类数据。
最新开源组件Excel提供了此功能其maven导入代码如下

<dependency> <groupId>com.excelbdd</groupId> <artifactId>excelbdd-java</artifactId> <version>1.4.1</version></dependency>
对于如下样子的Excel里面表格
参数化测试代码如下

import java.util.Map;import org.junit.jupiter.params.ParameterizedTest;import com.excelbdd.ExcelFileSource;import com.excelbdd.TestWizard;import static org.junit.jupiter.api.Assertions.*; ...... ParameterizedTestExcelFileSource(file excelbdd/DataTable.xlsx, sheet DataTable2)void testGetDateFromExcelTable(Map<String, String> parameterMap) {TestWizard w new TestWizard(parameterMap);assertEquals(Value1, w.get(Header01).substring(0, 6));assertEquals(Value2, w.get(Header02).substring(0, 6));// ......assertEquals(Value8, w.get(Header08).substring(0, 6));//real test automation implementation}
ExcelFileSource有五个参数
file 文件名缺省以resources为相对基准
brotherFolder 兄弟路径改变相对基准到此路径的上级一般不需要用
sheet Excel里面Sheet名称缺省是第1个
headerRow 标题列缺省第1行一般不需要用
startColumn 数据区第1列在哪里缺省是从第1列开始自动搜索数据区一般不需要用
Excel的功能不止于使用Excel作为参数化测试来源更加主要的功能是支持也是SBE。
参见 Excel Python指南
Excel Guideline By Java Example
标签: