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
相關文章
- 自動化測試工具QTPQT
- 自動化測試如何管理測試資料
- 【資料包】零基礎學習軟體測試 | LoadRunner 和 QTP 入門到精通視訊教程QT
- 測試資料
- 大資料測試與 傳統資料庫測試大資料資料庫
- 好的測試資料管理,到底要怎麼做?
- 功能測試之存量資料新與增資料測試
- web自動化測試(2):選擇selenium優勢?與PhantomJS/QTP/Monkey對比WebJSQT
- 為什麼公司需要專業的測試資料管理?
- TestComplete資料驅動測試教程(二)——記錄測試資料
- PHP 單元測試與資料庫測試PHP資料庫
- 大資料測試技術——課堂測試大資料
- 解密!傳統測試 vs 大資料測試解密大資料
- Mock生成測試資料Mock
- shell生成測試資料
- 資料包表測試
- 資料清洗如何測試?
- 資料庫測試指南資料庫
- WinRunner和QTP對比QT
- 讀資料質量管理:資料可靠性與資料質量問題解決之道06資料測試
- TPA測試專案管理系統-測試問題管理專案管理
- XamarinSQLite教程新增測試資料SQLite
- 大資料測試之ETL大資料
- 2.4. 測試資料庫資料庫
- laravel seed生成測試資料Laravel
- MySQL 資料庫生成 10000 條測試資料MySql資料庫
- 什麼是大資料測試?大資料測試實現步驟有哪些?大資料
- Go 單元測試之Mysql資料庫整合測試GoMySql資料庫
- 『測試基礎』| 如何理解測試用例管理和缺陷管理?
- 測試面試(三)--資料庫與linux面試資料庫Linux
- TestComplete資料驅動測試教程(三)——修改記錄測試
- 軟體測試之資料庫測試技術系列七資料庫
- 大資料測試學習筆記之測試工具集大資料筆記
- JB的測試之旅-測試資料的準備/構造
- MySQL製作具有千萬條測試資料的測試庫MySql
- 【Mysql】資料庫索引,百萬資料測試索引效果MySql資料庫索引
- 測試資料之自動生成
- 大資料測試之hadoop初探大資料Hadoop
- Oracle 閃回資料庫測試Oracle資料庫