|
- DataTable.GetSheet(TEST_SHEET).SetCurrentRow( 1 )
- For i=1 to row_count
- If DataTable("IDX",TEST_SHEET) = "√" Then
- taskFileName = DataTable("bizName",TEST_SHEET)
- If NOT taskFile.Exists(taskFileName) Then
- taskFilePath = pathFind(Environment("testScriptFolderName"),taskFileName,"vbs")
- call taskFile.add(taskFileName,taskFilePath)
- ExecuteFile taskFilePath '加载task脚本文件
- logPrint("加载Task脚本文件完成。"&taskFilePath)
- Execute "Set obj"&taskFileName&" = new "&taskFileName '初始化task的类
- End If
- End If
- DataTable.GetSheet(TEST_SHEET).SetNextRow
- Next
- '存放业务的Task的文件加载完毕
- '开始按照顺序执行测试用例中的具体的各个Task
- DataTable.GetSheet(TEST_SHEET).SetCurrentRow( 1 )
- For i = 1 to row_count
- If DataTable("IDX",TEST_SHEET) = "√" Then
- '执行该脚本文件中的具体方法,方法名称为Excel表格中的taskName的值,暂时不做中英文名称的字典匹配,直接使用英文
- className = DataTable("bizName",TEST_SHEET)
- taskName = DataTable("taskName",TEST_SHEET)
- bizDataTableName = DataTable("bizDataTable",TEST_SHEET)
- filterExp =DataTable("filter",TEST_SHEET) '过滤测试数据的条件语句
- If bizDataTableName<>"" Then
- '如果task有对应的测试数据,那么加载对应的测试数据
- Sheet_Name = testDataTable.item(DataTable("bizDataTable",TEST_SHEET))
- test_data_row_count = DataTable.GetSheet(Sheet_Name).GetRowCount
- For j=1 To test_data_row_count
- DataTable.GetSheet(Sheet_Name).SetCurrentRow( j )
- If Eval(generateFilterExp(Sheet_Name,filterExp)) Then
- 'Eval(generateFilterExp(Sheet_Name,filterExp)) ,解析测试数据的条件语句,符合此条件的,则执行该行测试数据,否则不执行
- str = "obj"&className&"."&taskName&" "&chr(34)&Sheet_Name&chr(34)
- logPrint("执行测试步骤 "&i&", "&str)
- Execute str ''执行 objlogin.login "login","TEST_SHEET"
- End If
- DataTable.GetSheet(Sheet_Name).SetNextRow
- Next
- else
- '如果task没有对应的测试数据,则不加载测试数据,如退出登录logout()方法
- str = "Call obj"&className&"."&taskName&"()"
- logPrint("执行测试步骤 "&i&", "&str)
- Execute str
- end if
- End If
- DataTable.GetSheet(TEST_SHEET).SetNextRow
- Next
复制代码 为什么在
-->
ExecuteFile taskFilePath '加载task脚本文件
<-- 处没有处理脚本,但到"开始按照顺序执行测试用例中的具体的各个Task"就开始执行脚本了呢..
有谁可以告诉我下为什么吗? |
|