51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2582|回复: 1
打印 上一主题 下一主题

[求助] 求教:QTP参数化问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-1-8 01:19:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了下面一个脚本,对输入和检查点都进行了参数化,但迭代次数不对;
假设有7行数据,本应该把脚本跑7编,每行一遍;
但现在是跑完这7行数据以后,还会重复跑上面的步骤6遍,一共跑42次。
    i=DataTable.GetSheet(dtlocalsheet).GetCurrentRow
               
      arrRange = ReadFile("E:\自动化测试学习\QTP\DataTable.xlsx","DataTable")
        'Msgbox UBound (arrRange,1)
        'Msgbox UBound (arrRange,2)
        ' 读取其中一个单元格的数据
       'Msgbox arrRange(1,1)


        ' 输入:
        '             sFileName: Excel文件
        '             sSheetName:表单名称
        ' 返回:
        '             包含Excel数据的数组
        Function ReadFile(sFileName,sSheetName)
               Dim oExcel
               Dim oSheet
               Dim oRange
               Dim arrRange

               On Error Resume Next
                   ' 创建Excel应用程序对象
                      Set oExcel = CreateObject("Excel.Application")
                      If err.Number <> 0 Then
                             MsgBox "未能初始化Excel" & vbCrLf & _
                                         "请确保Excel已安装", vbCritical
                             Exit Function
                      End If
               On Error Goto 0

               On Error Resume Next
                             ' 打开Excel文件
                             oExcel.Workbooks.Open(sFileName)
                          If err.Number <> 0 Then
                                    MsgBox "未能加载Excel文件" & vbCrLf & _
                                           "请确保Excel文件路径正确或格式正确", vbCritical
                                    Exit Function
                             End If
               On Error Goto 0

               ' 获取表格的使用范围
               Set oSheet = oExcel.Worksheets(sSheetName).UsedRange
               ' 获取从A列到Z列,从第1行到第1000行的范围i中的所有值
               Set oRange = oSheet.Range("A1:G8")
               '把Excel数据转换到数组
               arrRange = oRange.Value
               ' 关闭工作簿
               oExcel.WorkBooks.Item(1).Close
               ' 退出Excel
               oExcel.Quit
               Set oExcel = Nothing
            ' 返回包含Excel数据的数组
             ReadFile = arrRange
        End Function
DataTable("check",dtlocalsheet)=arrRange(i,7)
Dialog("QtpLearn").WinEdit("Edit").SetSelection 0,1
Dialog("QtpLearn").WinEdit("Edit").Set DataTable("multi1", dtLocalSheet)
Dialog("QtpLearn").WinEdit("Edit_2").SetSelection 0,1
Dialog("QtpLearn").WinEdit("Edit_2").Set DataTable("multi2", dtLocalSheet)
Dialog("QtpLearn").WinButton("乘号*").Click
Dialog("QtpLearn").WinEdit("Edit_3").SetSelection 0,3
Dialog("QtpLearn").WinEdit("Edit_3").Check CheckPoint("Edit_6")
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2012-1-9 10:20:32 | 只看该作者
    改一下action  datatable设置   我怀疑是由于你全局表的问题。把全局设置一下。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 13:17 , Processed in 0.068349 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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