51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1445|回复: 0
打印 上一主题 下一主题

[原创] 轻量级框架代码疑问...............

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-2-17 15:17:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. DataTable.GetSheet(TEST_SHEET).SetCurrentRow( 1 )
  2.     For i=1 to row_count
  3.                 If DataTable("IDX",TEST_SHEET) = "√" Then
  4.                         taskFileName = DataTable("bizName",TEST_SHEET)
  5.                         If NOT taskFile.Exists(taskFileName) Then
  6.                                 taskFilePath = pathFind(Environment("testScriptFolderName"),taskFileName,"vbs")
  7.                 call taskFile.add(taskFileName,taskFilePath)
  8.                             ExecuteFile taskFilePath '加载task脚本文件
  9.                                 logPrint("加载Task脚本文件完成。"&taskFilePath)
  10.                                 Execute "Set obj"&taskFileName&" = new "&taskFileName '初始化task的类
  11.                         End If
  12.                 End If
  13.                 DataTable.GetSheet(TEST_SHEET).SetNextRow
  14.         Next
  15.         '存放业务的Task的文件加载完毕

  16. '开始按照顺序执行测试用例中的具体的各个Task
  17.         DataTable.GetSheet(TEST_SHEET).SetCurrentRow( 1 )
  18.         For i = 1 to row_count
  19.                 If DataTable("IDX",TEST_SHEET) = "√" Then
  20.                         '执行该脚本文件中的具体方法,方法名称为Excel表格中的taskName的值,暂时不做中英文名称的字典匹配,直接使用英文
  21.                         className = DataTable("bizName",TEST_SHEET)
  22.                         taskName = DataTable("taskName",TEST_SHEET)
  23.                         bizDataTableName = DataTable("bizDataTable",TEST_SHEET)
  24.                         filterExp =DataTable("filter",TEST_SHEET)   '过滤测试数据的条件语句

  25.                         If bizDataTableName<>"" Then
  26.                                 '如果task有对应的测试数据,那么加载对应的测试数据
  27.                                 Sheet_Name = testDataTable.item(DataTable("bizDataTable",TEST_SHEET))
  28.                                 test_data_row_count = DataTable.GetSheet(Sheet_Name).GetRowCount
  29.                                 For j=1 To test_data_row_count
  30.                                         DataTable.GetSheet(Sheet_Name).SetCurrentRow( j )
  31.                                         If Eval(generateFilterExp(Sheet_Name,filterExp)) Then
  32.                                                         'Eval(generateFilterExp(Sheet_Name,filterExp)) ,解析测试数据的条件语句,符合此条件的,则执行该行测试数据,否则不执行
  33.                             str = "obj"&className&"."&taskName&" "&chr(34)&Sheet_Name&chr(34)
  34.                                                         logPrint("执行测试步骤 "&i&", "&str)
  35.                                                         Execute str     ''执行 objlogin.login "login","TEST_SHEET"
  36.                                         End If
  37.                                         DataTable.GetSheet(Sheet_Name).SetNextRow
  38.                                 Next
  39.                         else
  40.                                 '如果task没有对应的测试数据,则不加载测试数据,如退出登录logout()方法
  41.                                 str = "Call obj"&className&"."&taskName&"()"
  42.                                 logPrint("执行测试步骤 "&i&", "&str)
  43.                                 Execute str
  44.                         end if       
  45.                 End If
  46.                 DataTable.GetSheet(TEST_SHEET).SetNextRow
  47.         Next
复制代码
为什么在
-->
    ExecuteFile taskFilePath '加载task脚本文件
<-- 处没有处理脚本,但到"开始按照顺序执行测试用例中的具体的各个Task"就开始执行脚本了呢..
有谁可以告诉我下为什么吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-5 17:32 , Processed in 0.060231 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表