我们在一个项目中往往会出现成百个业务流,而且每一轮测试的侧重点不一样,有时个别场景不需要执行,那么我们就可以将该场景设置为不执行
同样可以在Excel 中进行配置管理
这里我新启一个Sheet 叫任务调度
任务调度相当于一个总测试集
运行模式字段置为No 是表示该场景不执行
当置为Yes 时将这个套件名称带入到测试套件对应的Sheet 中
最终整个框架串通效果是
任务调度 --->提取运行模式为Yes 的套件--->测试套件寻找对应套件名称--->执行套件所指定的用例--->按行执行指定用例的所有步骤
代码实现
public static void TestPlan() throws IOException, InterruptedException {
try {
String TestSuite=constant.TestSuite;
System.out.println("测试套件的路径"+TestSuite);
//实例化文件流
FileInputStream ExcelFile = new FileInputStream(TestSuite);
// 实例化工作本
XSSFWorkbook ExcelWBook = new XSSFWorkbook(ExcelFile);
//实例化Sheet 名
XSSFSheet ExcelWSheet = ExcelWBook.getSheet("任务调度");
//此时将会获得 测试套件的任务调度Sheet 的实例,如果此处报错,可能是 测试套件中没有任务调度的Sheet
for (int i=1;i<=ExcelWSheet.getLastRowNum();i++){
//循环扁历任务调度Sheet 中所有行
//按行取出测试套件名称
String SuiteName=ExcelWSheet.getRow(i).getCell(0).getStringCellValue().trim();
//按行取出测试运行模式的值
String Mode=ExcelWSheet.getRow(i).getCell(1).getStringCellValue().trim();
//判断运行模式是否===yes
if (Mode.equals("Yes")){
//如果等于yes 说明当前行的测试套件本次需要执行
TestSuite(SuiteName);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}