最近在研究QTP,公司自己开发了一个自动生成QTP脚本的工具,然给把脚本给我,让我用QTP去RUN。
在此我用到了严小婷(51testing)老师给的HP订机票的演示自动化框架,修改了start.vbs,实习了只要有代码(没有对象库)就能给QTP跑!
思路:
将脚本写入Test1/Action1文件夹下的Script.mts文件
使用VBS调用QTP,并打开Test1项目
start.vbs的代码如下
'获取路径
Set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
road = WshShell.CurrentDirectory & "\"
Dim xlsApp,wkBook,wkSheet,RowCount,CaseArr(50)
Set xlsApp=CreateObject("Excel.Application")
Set wkBook=xlsApp.Workbooks.Open("C:\Users\Anders\Desktop\自动化\51testing学习QTP\QTP4-20131102\FrameWorkofFlightSample\TestData\TestData.xls")
Set wkSheet=wkBook.Worksheets("TestScenario")
RowCount=wkSheet.usedRange.Rows.Count
For i=2 To RowCount
CaseArr(i-2)=wkSheet.Cells(i,1)
Next
wkBook.Close
xlsApp.Quit
Set wkSheet=Nothing
Set wkBook=Nothing
Set xlsApp=Nothing
Dim qtApp
Set qtApp = CreateObject("QuickTest.Application")
qtApp.Launch
qtApp.Visible = True
For i=0 To UBound(CaseArr)
If Not IsEmpty(CaseArr(i)) Then
qtApp.Open
road&"Test1", False, False
qtApp.Test.run
End If
Next
qtApp.quit
Set qtApp = Nothing
'Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
'Dim qtRepositories 'As QuickTest.ObjectRepositories ' Declare an action's object repositories collection variable
'Dim lngPosition
' Open QuickTest
'Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
'qtApp.Launch ' Launch QuickTest
'qtApp.Visible = True ' Set QuickTest to be visible
'qtApp.Open "E:\Training Material\QTP\FrameWorkofFlightSample\Case001", False, False ' Open case001
'qtApp.Test.run
'qtApp.Open "E:\Training Material\QTP\FrameWorkofYXT\Case002", False, False ' Open case002
'qtApp.Test.run
'qtApp.quit
'Set qtApp = Nothing ' Release the Application object