QTP测试数据管理-Excel+Dictionary
来源:互联网 发布:新浪中超数据库 编辑:程序博客网 时间:2024/05/22 06:41
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测试数据管理-Excel+Dictionary
- QTP造测试数据
- 将 Excel 用于测试数据
- 接口测试数据管理
- 接口测试数据管理
- 接口测试数据管理
- 测试数据管理框架
- 在QTP中使用Dictionary对象
- QTP Excel函数
- QTP获取EXCEl数据
- qtp 导入excel文件
- 测试数据管理:创造性的解决方案
- Andy's First Dictionary - UVa 10815 丧病的测试数据
- qtp 使用Oracle数据库做测试数据驱…
- QTP对象库管理
- QTP - 23 (Working with MS Excel) QTP与Excel交互
- QTP操作Excel的函数
- QTP-利用EOM自动化EXCEL
- 测试
- ADO.NET中常用的对象
- 设置c#windows服务描述及允许服务与桌面交互的几种方法
- 初识java遇到的问题!(解决)
- 按时间属性删除文件
- QTP测试数据管理-Excel+Dictionary
- IIS 7 使用 ajax.dll 时 web.config[Ajax脚本错误 XXXX 未定义]
- C#中的运算符
- IE7 下使用Jquery ajax出现Expected identifier or string 解决原理.
- 种瓜得瓜,种豆得豆。
- JavaScript之appendChild、insertBefore和insertAfter
- C调用Python函数相关代码示例剖析
- MPG4 MP42 MP43: Microsoft MPEG-4 versions 1, 2, and 3
- 小常识