QTP測試資料管理-Excel+Dictionary
relevantcodes.com的《QTP: Creating a Highly Efficient Test-Data Dictionary》這篇文章介紹瞭如何使用ADO讀取Excel測試資料,並儲存到Dictionary物件中:
http://relevantcodes.com/qtp-creating-a-highly-efficient-test-data-dictionary/
定義一個類clsTestData,負責從Excel讀取資料到Dictionary物件中:
'Class clsTestData: Stored in Function Library
Class clsTestData
Private mDict 'Local Instance of Scripting.Dictionary
Public sWorkBook 'Excel WorkBook
Public vSheet 'Excel WorkSheet
Public iRow 'Excel Row where test data is contained
'Loads the Dictionary Object
Public Default Function Load(sWorkBook, vSheet, iRow)
With Me
.sWorkBook = sWorkBook
.vSheet = vSheet
.iRow = iRow
End With
BuildContext : Set Load = oDict
End Function
'Builds the Dictionary Object from Excel
Private Function BuildContext
Dim oConn, oRS, arrData, x
CONST adOpenStatic = 3
CONST adLockOptimistic = 3
CONST adCmdText = "&H0001"
Set oConn = CreateObject("ADODB.Connection")
Set oRS = CreateObject("ADODB.RecordSet")
'Open Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & Me.sWorkBook & ";" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
'Query
sQuery = "Select * From [" & Me.vSheet & "$]"
'Run query against WorkBook
oRS.Open sQuery, oConn, 3, 3, 1
'Move RecordSet to the target Row
For x = 2 to iRow - 1 : oRS.MoveNext : Next
oDict = CreateObject("Scripting.Dictionary")
'Use a For..Loop to Build Scripting.Dictionary
For x = 0 to oRS.Fields.Count - 1
With oDict
.Add "" & oRS(x).Name, "" & oRS.Fields(x)
End With
Next
End Function
Private Property Let oDict(ByVal Val)
Set mDict = Val
End Property
Private Property Get oDict()
Set oDict = mDict
End Property
End Class
Set mDataContext = New clsTestData
使用的例子如下所示:
Dim sWorkbook, vSheet, iRow
sWorkBook = Environment.Value("TestDir") &"../../Test.xls" 'WorkBook
vSheet = "Sheet1" 'WorkSheet
iRow = 2 'Row Number
'This loads the Test Data to mDict
tStart = Timer
Set mDict = mDataContext.Load(sWorkBook, vSheet, iRow) 'Took 0.156 seconds to build
Print "Time taken to load Dictionary: " & Timer - tStart
'Launch IE Browser
SystemUtil.Run "iexplore.exe", "http://newtours.demoaut.com", "", "", 3
'Action Code:
With Browser("title:=Welcome: Mercury Tours", "index:=").Page("micclass:=Page")
.WebEdit("name:=userName").Set mDict("Username")
.WebEdit("name:=password").Set mDict("Password")
.Image("name:=login").Click
End With
With Browser("title:=Find a Flight.*", "index:=").Page("micclass:=Page")
If .Exist(15) Then
.WebRadioGroup("name:=tripType").Select mDict("Trip Type")
.WebList("name:=passCount").Select mDict("Passenger Count")
.WebList("name:=fromPort").Select mDict("From Port")
.WebList("name:=fromMonth").Select mDict("From Month")
.WebList("name:=fromDay").Select mDict("From Day")
End If
End With
相關文章
- QTP測試Yahoo郵箱QT
- 介面測試資料管理
- QTP測試QQ登入介面QT
- QTP測試Windows計算器QTWindows
- QTP測試WinToolbar控制元件QT控制元件
- 自動化測試工具QTPQT
- 自動化測試如何管理測試資料
- QTP自動化測試Google地圖QTGo地圖
- QTP測試.NET控制元件CheckedListBoxQT控制元件
- QTP測試AJAX時的等待問題QT
- 自動化測試QTP知識框架QT框架
- QC、QTP等測試工具已經放到網站資源共享QT網站
- 《QTP自動化測試進階》樣章QT
- QTP測試CodeJock Xtreme Suite控制元件QTREMUI控制元件
- 使用QTP進行WEB頁面效能測試QTWeb
- 軟體測試工具QTP學習小結QT
- 《QTP自動化測試進階》51CTO試讀QT
- 《QTP自動化測試進階》準備加印!QT
- 用Watir測試QTP的Demo程式Mercury ToursQT
- 測試資料
- 大資料測試與 傳統資料庫測試大資料資料庫
- 使用QTP進行非GUI的自動化測試QTGUI
- 功能測試之存量資料新與增資料測試
- 好的測試資料管理,到底要怎麼做?
- 一些ASM 資料庫的測試和管理ASM資料庫
- QTP專案實戰課程測試指令碼下載QT指令碼
- 用QTP進行GMail郵箱的自動化測試QTAI
- QTP測試多個Windows應用程式的解決方案QTWindows
- QTP讀取Excel資料的方法QTExcel
- 為什麼公司需要專業的測試資料管理?
- TestComplete資料驅動測試教程(二)——記錄測試資料
- PHP 單元測試與資料庫測試PHP資料庫
- 解密!傳統測試 vs 大資料測試解密大資料
- 大資料測試技術——課堂測試大資料
- 資料庫測試指南資料庫
- Mock生成測試資料Mock
- shell生成測試資料
- 資料清洗如何測試?