PMP ,专注于WEB功能测试、性能测试、安全测试的研究,从事全面质量管理工作。曾任多家公司测试经理、测试主管。在电子政务、银行、电商、跨境电商、直播电商领域工作多年,曾获得某龙头集团公司公测一等奖,曾任职某头部直播电商公司测试团队负责人,具有业务敏感性,擅长从0到1搭建测试团队,具有海外工作经历,以及质量管理体系搭建。邮箱:89233502@qq.com

【QTP】读取Excel表的用法

上一篇 / 下一篇  2013-01-13 18:47:55 / 个人分类:QTP学习

这个是个非常非常常用且实用的函数,使用QTP读取Excel中的数据。
先贴上函数:

'========================================
'名     称:QTP_ReadExcel
'作     用:从Excel读数据
'参     数:sFileName:EXCEL文件名     sSheetName:Sheet表名
'返回值:把EXCEL变为2维数组返回
'========================================
Function QTP_ReadExcel(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:Z1000")
      '把Excel数据转换到数组
       arrRange = oRange.Value
      ' 关闭工作簿
       oExcel.WorkBooks.Item(1).Close

       ' 退出Excel
       oExcel.Quit
       Set  oExcel = Nothing
       ' 返回包含Excel数据的数组
       QTP_ReadExcel = arrRange
End Function


再贴上调用方法: 

Dim arrExcel

arrExcel  = QTP_ReadExcel("D:\test.xls","sheet1")

print arrExcel(1,2)



假设表格如下,
要使用D2,则为arrExcel(2,4)
要使用A10,则为arrExcel(10,1),应该找出规律了吧。
我一般用此函数进行参数化和配置的操作,将需要测试的数据写在Excel中,在运行QTP时,会进行读取Excel中数据来进行测试。也会将一些配置写入Excel中,如用1和0表示是否,来进行是否重启IE、是否写Log等动作的控制,也可以写入数字,来控制脚本的运行次数,个人感觉挺方便的。
还是不太喜欢使用QTP自带的DataTable,一来是觉得多台测试机的情况下,每台都要配置比较麻烦,二来是担心一些配置会影响脚本。
本文摘自陈永达个人博客

TAG:

 

评分:0

我来说两句

Open Toolbar