QTP对Excel的操作

QTP对Excel的操作(一)

 

'*************************************************************'
'函数/过程名称:DoExcel()
'函数/过程的目的:操作Excel(读写)
'假设:无
'影响:
'输入:无
'返回值:无
'创建者:lee
'创建时间:2010/12/13
'修改者:
'修改原因:
'修改时间:
'*************************************************************'
Function DoExcel(filepath,sheetname,x,y)
 Dim ObjExcel,SrcExcel,ExcValue

   Set ObjExcel = CreateObject ("Excel.Application")
       'Excel程序不在前台显示
    ObjExcel.Visible = False

       '设置变量SrcExcel等于Excel工作薄open
       'Activate定位活动的sheet
       '并给某一单元格赋值
   Set SrcExcel = ObjExcel.WorkBooks.Open(filepath)
    SrcExcel.WorkSheets(sheetname).Activate
    SrcExcel.WorkSheets(sheetname).Cells(x,y).Value = "该单元格的值"
  
  '当出现“在当前位置发现已经存在为"RESUME.XLW"的文件。您希望将该文件替换掉吗?” 使用DisplayAlerts代码该列
          ObjExcel.DisplayAlerts = False
          ObjExcel.save
       
  'Excel退出,释放资源
    ObjExcel.quit
    Set ObjExcel = Nothing
    Set SrcExcel = Nothing
End Function
Call DoExcel("D:/Case.xls","Sheet1",9,8)

 

'*************************************************************'
'函数/过程名称:DoExcel() 第二种方法实现。
'函数/过程的目的:操作Excel(读写)
'创建者:lee
'创建时间:2010/12/13
'修改者:
'修改原因:使用统一对象ObjExcel
'*************************************************************'
Function DoExcel(filepath,sheetname,x,y)
 Dim ObjExcel,SrcExcel,ExcValue

   Set ObjExcel = CreateObject ("Excel.Application")
       'Excel程序不在前台显示
    ObjExcel.Visible = False

      'Activate定位活动的sheet
       '并给某一单元格赋值

    'Set SrcExcel = ObjExcel.WorkBooks.Open(filepath)
    ObjExcel.WorkBooks.Open(filepath)
    ObjExcel.WorkSheets(sheetname).Activate
    ObjExcel.WorkSheets(sheetname).Cells(x,y).Value = "该单元格的值"
  
  '当出现“在当前位置发现已经存在为"RESUME.XLW"的文件。您希望将该文件替换掉吗?” 使用DisplayAlerts代码该列
          ObjExcel.DisplayAlerts = False
          ObjExcel.save
       
    'Excel退出,释放资源

    ObjExcel.WorkBooks.Close
    ObjExcel.quit
    Set ObjExcel = Nothing
End Function
Call DoExcel("D:/Case.xls","Sheet1",9,8)

 

 

QTP对Excel的操作(二)

'Function ReadExcel(filepath,sheetname,x,y)
 Dim ObjExcel,SrcExcel,ExcValue

   Set ObjExcel = CreateObject ("Excel.Application")
       'Excel程序不在前台显示
    ObjExcel.Visible = False

       '设置变量SrcExcel等于Excel工作薄open
       'Activate定位活动的sheet
       '将某一单元格的值赋予变量 ExcValue 
   Set SrcExcel = ObjExcel.WorkBooks.Open(filepath)
    SrcExcel.WorkSheets(sheetname).Activate
    ExcValue = SrcExcel.WorkSheets(sheetname).Cells(x,y).Value 
  '当出现“在当前位置发现已经存在为"RESUME.XLW"的文件。您希望将该文件替换掉吗?” 使用DisplayAlerts代码该列
          ObjExcel.DisplayAlerts = False
          ObjExcel.save

'将变量的值赋予函数本身,供调用函数时使用
          DoExcel = ExcValue
  'Excel退出,释放资源
    ObjExcel.quit
    Set ObjExcel = Nothing
    Set SrcExcel = Nothing
End Function

 

 

QTP对Excel的操作(三)

QTP对Excel的操作(一)与(二)中,分别讲解了对Excel的读与写操作,本讲我们以实例讲解,QTP执行测试过程中如何通过对Excel读写实现执行测试用例。

本例通过注册新浪会员页面(http://login.sina.com.cn/signup/signup.php)进行讲解。

需求:

1、新浪会员,填写注册信息,点击提交

2、如果不符合输入域校验要求,会给出相应的错误提示

3、我们验证,给出的输入域错误提示,是否是我们期望的值,

   如对第一项邮箱的校验, 如果不符合则 期望值 正确的提示“邮箱名长度应为4-16位” 如果给出的提示不与我们期望的不一致,则把错误的结果写入到Excel中,与期望值进行对比,然后得出测试用例执行时通过还是失败。我们分为三步走。

1、先设定Excel格式,如测试用例参数值(即输入邮箱的值)、期望值、测试用例及结果等。由于无法上传附件,因此附图,如下图所示:

QTP对Excel的操作(三)之 <wbr>Vbs对Excel的操作 <wbr>实例讲解

 

2、录制 注册新浪会员页面(http://login.sina.com.cn/signup/signup.php)设置邮箱为“123”,点击提交,停止,录制代码如下图所示;

QTP对Excel的操作(三)之 <wbr>Vbs对Excel的操作 <wbr>实例讲解


QTP对Excel的操作(三)之 <wbr>Vbs对Excel的操作 <wbr>实例讲解
 

3、录制完成后,我们看到邮箱给出的错误提示是“邮箱名长度应为4-16位”,是符合我们的要求的,我们假设后续版本中温馨提示不对,我们如何处理呢?因此我们首先想到是检查点,检查其是否正确。添加检查点需要再QTP 在Record模式下,点击Insert-CheckPoint-Text CheckPoint然后选中 “邮箱名长度应为4-16位”,添加检查点后,如下图:回放我们看到能通过。

QTP对Excel的操作(三)之 <wbr>Vbs对Excel的操作 <wbr>实例讲解

4、而这样添加检查点,与我们设想的操作Excel是不一致的(目前并未操作Excel)。我们需要对代码进行修订,因此我们使用对象的GetROProperty 属性来进行验证。GetROProperty 属性能够获取对象的某个属性值,具体应用如下,如果想详细的参考用法,可以参考QTP帮助手册。如下图。

QTP对Excel的操作(三)之 <wbr>Vbs对Excel的操作 <wbr>实例讲解

 

5、如下贴上完整的QTP修订后的代码。包括读Excel、写Excel及QTP对函数的操作

*************************************************************'
'函数/过程名称:DoExcel()
'函数/过程的目的:操作Excel(读写)
'假设:无
'影响:
'输入:无
'返回值:无
'创建者:lee
'创建时间:2010/12/13
'修改者:
'修改原因:
'修改时间:
'*************************************************************'
Function DoExcel(filepath,sheetname,x,y)
 Dim ObjExcel,SrcExcel,ExcValue

   Set ObjExcel = CreateObject ("Excel.Application")
       'Excel程序不在前台显示
    ObjExcel.Visible = False

       '设置变量SrcExcel等于Excel工作薄open
       'Activate定位活动的sheet
       '并给某一单元格赋值
   Set SrcExcel = ObjExcel.WorkBooks.Open(filepath)
    SrcExcel.WorkSheets(sheetname).Activate
    SrcExcel.WorkSheets(sheetname).Cells(x,y).Value = Checkvalue
   '当出现“在当前位置发现已经存在为"RESUME.XLW"的文件。您希望将该文件替换掉吗?” 使用DisplayAlerts代码该列
          ObjExcel.DisplayAlerts = False
          ObjExcel.save      
  'Excel退出,释放资源
    ObjExcel.quit
    Set ObjExcel = Nothing
    Set SrcExcel = Nothing
End Function


''*************************************************************'
'函数/过程名称:ReadExcel()
'函数/过程的目的:操作Excel(读写)
'假设:无
'影响:
'输入:无
'返回值:无
'创建者:lee
'创建时间:2010/12/13
'修改者:
'修改原因:
'修改时间:
'*************************************************************'
Function ReadExcel(filepath,sheetname,x,y)
 Dim ObjExcel,SrcExcel,ExcValue

   Set ObjExcel = CreateObject ("Excel.Application")
       'Excel程序不在前台显示
    ObjExcel.Visible = False

       '设置变量SrcExcel等于Excel工作薄open
       'Activate定位活动的sheet
       '并给某一单元格赋值
   Set SrcExcel = ObjExcel.WorkBooks.Open(filepath)
    SrcExcel.WorkSheets(sheetname).Activate
    ExcValue = SrcExcel.WorkSheets(sheetname).Cells(x,y).Value 
  '当出现“在当前位置发现已经存在为"RESUME.XLW"的文件。您希望将该文件替换掉吗?” 使用DisplayAlerts代码该列
          ObjExcel.DisplayAlerts = False
          ObjExcel.save
          DoExcel = ExcValue
  'Excel退出,释放资源
    ObjExcel.quit
    Set ObjExcel = Nothing
    Set SrcExcel = Nothing
End Function
'Call DoExcel("D:/case.xls","Sheet1",9,5)


Dim Checkvalue

 

'从读取Excel的输入值,赋予邮箱输入域
Browser("注册新浪会员").Page("注册新浪会员").WebEdit("user_name").Set  ReadExcel  ("D:/case.xls","Sheet1",11,5)
Browser("注册新浪会员").Page("注册新浪会员").WebButton("提交").Click

wait (2)
Checkvalue= Browser("注册新浪会员").Page("注册新浪会员").WebElement("邮箱名长度应为4-16位").GetROProperty("innertext")

'将获得的温馨提示写入Excel中
Call DoExcel("D:/case.xls","Sheet1",11,8)

 

6、第5步完成后,运行QTP,然后进入D盘下,查找case.xls,可以看到Excel的结果,如下图所示。

QTP对Excel的操作(三)之 <wbr>Vbs对Excel的操作 <wbr>实例讲解

 

7、通过excel的统计,我们能够很明显的看到那些测试用例执行通过,那些未通过,而且还可以进行bug成功与失败的统计图。以后,只需要更改输入值,及期望值等即可,完全实现了自动化。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值