edisonlzk 发表于 2011-2-17 15:17:54

轻量级框架代码疑问...............


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"就开始执行脚本了呢..
有谁可以告诉我下为什么吗?
页: [1]
查看完整版本: 轻量级框架代码疑问...............