数据驱动测试.docx
《数据驱动测试.docx》由会员分享,可在线阅读,更多相关《数据驱动测试.docx(5页珍藏版)》请在冰点文库上搜索。
数据驱动测试
数据驱动测试
1.参数化测试步骤的数据
2.编辑数据表格
3.设置迭代次数
参数化测试
1.数据表参数化
2.环境变量参数化
3.随机数参数化
ItemCount=Window("FlightReservation").Dialog("FlightsTable").WinList("From").GetItemsCount
SelectItem=RandomNumber(0,ItemCount)
Window("FlightReservation").Dialog("FlightsTable").WinList("From").SelectSelectItem
使用数据驱动器来参数化测试
'获取操作系统名称
OS=Environment.Value("OS")
'获取操作系统版本
OSVersion=Environment.Value("OSVersion")
'获取测试脚本名
TestName=Environment.Value("TestName")
Reporter.ReportEventmicDone,"Environment","运行测试脚本"&TestName&"的操作系统为:
"&OS&"版本为:
"&OSVersion
'设置环境变量MyVariable的值为10
Environment.Value("MyVariable")=10
MyValue=Environment.Value("MyVariable")
MsgBoxMyValue
'导入外部文件
Environment.LoadFromFile("D:
\example\MyVariables.xml")
'读取其中的环境变量值MyUserName
MyUserName=Environment.Value("MyUserName")
MyPassword=Environment.Value("MyPassword")
'读取其中的环境变量值MyVariant
MyVariant=Environment.Value("MyVariant")
Reporter.ReportEventmicDone,"读取MyVariables.xml文件","MyUserName="&MyUserName&",MyPassword="&MyPassword&",MyVariant="&MyVariant
Window("FlightReservation").WinButton("FLIGHT").Click
'定位到FlightListTable窗口的WinList控件
SetFlightsList=Window("FlightReservation").Dialog("FlightsTable").WinList("From")
'获取WinList控件中的所有项,并通过Print方法显示出来
Fori=1toFlightsList.GetItemsCount
PrintFlightsList.GetItem(i-1)
Next
Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").Click
Dimstr
'定位到FlightListTable窗口的WinList控件
SetFlightsList=Window("FlightReservation").Dialog("FlightsTable").WinList("From")
'获取WinList控件中的所有项,并通过msgbox方法显示出来
Fori=1toFlightsList.GetItemsCount
str=str+FlightsList.GetItem(i-1)+vbCRLF
Next
MsgBoxstr
MsgboxWindow("FlightReservation").WinEdit("OrderNo:
").GetROProperty("text")
Window("FlightReservation").WinButton("InsertOrder").Click
Wait10
'获取自动生成的订票记录号
MsgboxWindow("FlightReservation").WinEdit("OrderNo:
").GetROProperty("text")
虚拟对象管理:
让QTP学会认识某些它不认识的对象。
方法是把这些控件所在的区域定义为虚拟对象(VirtualObject).
'设置QTP在判断一个对象是否存在的最大时间
Milliseconds=30000
Setting("DefaultTimeout")=Milliseconds
'获取DefaultTimeout
DefaultTimeout=Setting("DefaultTimeout")
IfDefaultTimeout<5000Then
MsgBox(DefaultTimeout)
Milliseconds=50000
Setting("DefaultTimeout")=Milliseconds
EndIf
Setting对象有一个名为“Item”的属性,可以把其作为测试脚本的全局变量来使用,获取和设置测试脚本的全局信息。
WithSetting
'判断名为IterNumber的Item是否存在,如果不存在,则添加一个,并且设置其值为1
IfNot.Exists("IterNumber")Then
.Add"IterNumber",1
'如果存在,则把其值累加1
Else
.Item("IterNumber")=.Item("IterNumber")+1
EndIf
Endwith
MsgboxSetting("IterNumber")
利用DotNetFactory对象访问.NET类库
'通过CreateInstance创建System.Environment的实例
Setvar_CreateInstance=DotNetFactory.CreateInstance("System.Environment")
'访问实例中的CurrentDirectory属性
msgboxvar_CreateInstance.CurrentDirectory
'创建Form实例
Setvar_CreateInstance=DotNetFactory.CreateInstance("System.Windows.Forms.Form","System.Windows.Forms")
'显示Form实例
var_CreateInstance.Show
'等待5秒
wait5
'关闭Form实例
var_CreateInstance.Close