qtp运行结果写入到excel里面

qtp运行结果写入到excel里面

qtp中的数据excel中的数据,但是一条条数据运行后会对应一个个pass或fail,针对这个运行的结果,一行一行的写入到excel中。有时到的大神,请帮忙并写明每行代码备注,谢谢。
Function TestResult(runresult)
'创建AOM自动化模型对象

Set qtapp=CreateObject("quicktest.application")
'获取测试用例最终测试结果
TestResult=runresult
Select Case runresult
    Case "1"
            RunResultState="Failed"
   Case "0"
            RunResultState="Passed"
   Case micDone
            RunResultState="Done"
   Case micWarning
            RunResultState="Warning"   
   Case else
            'Everything is fine
'   print "结果生成失败,运行结果可能为其他情况"
End Select 
'RunResult="Passed"
 
'创建EOM自动化模型对象
set excelapp=CreateObject("excel.application")
excelapp.Visible=false

'获取当前Action名
oActionName=Environment.Value("ActionName")
'自动化测试用例模板存放目录
ExcelFilePath="D:\QTPFrameWork\自动化测试用例\自动化测试用例模板.xls"
'自动化测试用例模板Sheet名
ImportSheet="用例"
'将Excel动态导入到DataTable中
DataTable.ImportSheet ExcelFilePath,ImportSheet,oActionName
'打开自动化测试用例模板
excelapp.Workbooks.Open(ExcelFilePath)
'获取Excel中第一项的Sheet对象
Set osheet=excelapp.Sheets.Item(1)


'DataTable中总行数
getrowcount=DataTable.GetSheet(oActionName).GetRowCount
For n=1 to getrowcount
TestCaseName=DataTable.GetSheet(oActionName).GetParameter("TestCaseName").ValueByRow(n)
'print TestCaseName&oActionName

If TestCaseName=oActionName Then
'print RunResult
    osheet.cells(n+1,20)=RunResultState
                  If RunResultState="Failed" Then
                     osheet.cells(n+1,20).interior.ColorIndex = 3'红色
                  End If
                  If RunResultState="Passed" Then
                     osheet.cells(n+1,20).interior.ColorIndex = 4'绿色
                  End If
       If RunResultState="Warning" Then
                     osheet.cells(n+1,20).interior.ColorIndex = 45'橘黄
                  End If
      If RunResultState="Done" Then
                     osheet.cells(n+1,20).interior.ColorIndex = 48'灰色
                  End If
      If RunResultState="Stop" Then
                     osheet.cells(n+1,20).interior.ColorIndex = 33'天蓝色
                  End If

End If

Next

 

'ImportSheetName=InputBox("请输入保存为文件的名称 (.xls),文件后缀名不需要输入,默认路径为:D:\QTPFrameWork\自动化测试用例\")
'If ImportSheetName="" Then
'                       ExitActionIteration
'            else 
                    ImportSheetPath="D:\QTPFrameWork\自动化测试用例\自动化测试用例模板(运行结果).xls"

'                  End If

excelapp.DisplayAlerts=false
excelapp.save ImportSheetPath
excelapp.DisplayAlerts=true
excelapp.Quit


Set qtapp=nothing
Set excelapp=nothing
End Function


'Function test2(name2)
''Dim myname
'myname=test1("dulei")
'msgbox  myname
'End Function
'
'test2(name2)
'
'Function test1(name1)
'   test1=name1
'End Function

 

你可以在检查点函数中调用这个函数,不论成功还是失败都会执行TestResult函数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QTP入门-检查点输出值参数化 录像 检查点 输出值 参数化 同步点 1.检查点 目的: 检查点比较指定属性的当前值与期望值,以判断当前的程序(或站点)功能是否正常。 在密码正确的情况下预期结果是进入主界面,检查项只有enabled 方法: 在Active Screen显示的 Flight Reservation窗体右键,insert standard checkpoint , 设置checkpoint properties 勾选enabled OK 2.输出值 目的: 输出值就是通过检查把特定值输出到特定环境 可以把值输出到data table,也可以输出到环境变量、当有输出变量时,还可以输出到Test/action parameter。 由于order no是随机产生的,要把在insert order点击后产生的order number 用于open order 输入order no的步骤 方法: insert order 窗体中 order no 右键 insert output value -OK Output value properties 中选择text 因为是在insert order之后产生order number 所以要选择 after current step -- OK configure value显示输出值将输出到data table 中的Order_No_text_out列 在open order 中 点击edit set 12后的 value configuration options 中不使用常量12,而是使用参数为Data Table 中的Order_No_text_out 3.参数化 目的: 用于改变某参数而将用例重复执行 例如我们想执行4次,每次的买的票数不同。 方法: tickets 1 后的 value configuration options 中不使用常量12,而是使用参数为Data Table 中的tickets列 在tickets列加入每次要买的张数 注意: 1.只有当控件内容发生改变时它才能被QTP自动识别。 2.有些地方需要延迟才能进行 比如insert order需要等待才能产生ordernumber 结束后需要等待才能进入下次执行 可以在脚本中加入 wait 时间 除了wait以外,还可以通过设置同步点来解决上述问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值