qtp运行结果写入到excel里面 100

qtp中的数据excel中的数据,但是一条条数据运行后会对应一个个pass或fail,针对这个运行的结果,一行一行的写入到excel中。有时到的大神,请帮忙并写明每行代码... qtp中的数据excel中的数据,但是一条条数据运行后会对应一个个pass或fail,针对这个运行的结果,一行一行的写入到excel中。有时到的大神,请帮忙并写明每行代码备注,谢谢。 展开
 我来答
472173257dl
推荐于2016-02-11 · TA获得超过178个赞
知道小有建树答主
回答量:383
采纳率:100%
帮助的人:286万
展开全部


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函数
 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式