QuickTestProfessional基本使用示例 QuickTestProfessional
1 设置脚本间的间隔时间
Wait(2),单位:秒
2 循环语句while
i=0
do while(i<10)
Window("Opera").Restore
Window("Opera").WinObject("OperaWindowClass").Click 446,232
Window("Opera").WinObject("OperaWindowClass").Click 461,278
i=i+1
loop
3 循环语句for
For i=1 to 3
Window("Opera").Restore
Window("Opera").WinObject("OperaWindowClass").Click 446,232
Window("Opera").WinObject("OperaWindowClass").Click 461,278
Next
4 判断语句
Do while(i<20)
Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Click
wait(2)
Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Click
wait(2)
i=i+1
If i=5 Then
Exit do
End If
Loop
5 With语句
Do while(i<20)
With Browser("XX项目")
.Page("XX项目").Frame("wap").Link("生活家居").Click
.Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click
.Page("XX项目").Sync
With .Page("XX项目")
.Frame("wap_6").Image("image").Check CheckPoint("image")'检查点
.Frame("wap_6").Link("返回XX首页").Click
.Sync
.Frame("wap").Check CheckPoint("生活家居")'检查点
End with
End with
i=i+1
If i=3 Then
i=21
End If
Loop
6 检查点
Browser("XX项目").Page("XX项目").Frame("wap").Link("生活家居").Click
Browser("XX项目").Page("XX项目").Frame("wap_5").Link("出租(火爆招租中)").Click
Browser("XX项目").Page("XX项目").Sync
Browser("XX项目").Page("XX项目").Frame("wap_6").Image("image").Check CheckPoint("image")'检查点
Browser("XX项目").Page("XX项目").Frame("wap_6").Link("返回XX首页").Click
Browser("XX项目").Page("XX项目").Sync
Browser("XX项目").Page("XX项目").Frame("wap").Check CheckPoint("生活家居")'检查点
7 引用函数
Function hjq(i)
msgbox("hjq")
End Function
Do while(i<20)
'开始
Browser("XX项目").Page("XX项目").Frame("wap").Link("啤酒").Click
wait(2)
Browser("XX项目").Page("XX项目").Frame("wap_2").Link("商铺详情").Click
'详情
i=i+1
If i=3 Then
i=21
End If
Call hjq(i)
Loop
8 引用action
录制action1,在step->action properties中设置该action为reuseable action
录制action2,在inser->call to exiting action,选择action1
OK
9 参数化
在keyword view中设置对象的value为参数,并设置值
With Browser("XX项目_2").Page("XX项目")
With .Frame("wap_2")
.WebEdit("key").Set "1"
.WebButton("搜").Click
End With
.Frame("wap_3").Link("重新搜索").Click
With .Frame("wap")
.WebEdit("key").Set DataTable("p_Text", dtGlobalSheet)
.WebButton("搜").Click
End With
.Sync
End With
10 Vbs随机读取一行文本内容
'随机读取文件中的一行
randomize
set fso=createobject("scrīpting.filesystemobject") '创建文件系统对象
set a=createobject("scrīpting.dictionary") '类似于二维数组
set file=fso.opentextfile("D:\hjq.txt") '打开文件
do while file.atendofstream<>true
m=m+1 'm记录文件中文本行数
a.add m,file.readline 'file.readline读取某行记录
loop
file.close '关闭文件
h=int(rnd*m)
msgbox "第" & h & "行: " & a(h) ,4096,"随机内容"
msgbox "第1行: " & a(1) ,4096,"内容"
msgbox "第2行: " & a(2) ,4096,"内容"
msgbox "第3行: " & a(3) ,4096,"内容"
11 二维数组的使用
set a=createobject("scrīpting.dictionary") '类似于二维数组
a.add 0,"返回XX首页"
a.add 1,"返回XX首页"
a.add 2,"返回XX首页"
a.add 3,"返回XX首页"
For i=0 to 3
With Browser("XX项目").Page("XX项目")
With .Frame("wap")
.WebEdit("key").Set "1"
.WebButton("搜").Click
End With
.Frame("wap_2").Link(a(i)).Click
.Sync
End With
Next
12 从文件读取文本,并赋予参数
set fso=createobject("scrīpting.filesystemobject") '创建文件系统对象
set a=createobject("scrīpting.dictionary") '类似于二维数组
set file=fso.opentextfile("D:\hjq.txt") '打开文件
wait(2)
do while file.atendofstream<>true
With Browser("XX项目").Page("XX项目")
With .Frame("wap")
.WebEdit("key").Set file.readline
.WebButton("搜").Click
End With
.Frame("wap_2").Link("返回XX首页").Click
.Sync
End With
loop
file.close '关闭文件
13 读取csv文件并分割字符串
Dim aasplit
set fso=createobject("scrīpting.filesystemobject") '创建文件系统对象
set file=fso.opentextfile("D:\hjq.csv") '打开csv文件
wait(2)
Do while file.atendofstream<>true
aasplit=split(file.readline,",")'用,分割字符串
For i=0 to UBound(aasplit)
With Browser("XX项目").Page("XX项目")
With .Frame("wap")
.WebEdit("key").Set aasplit(i)
.WebButton("搜").Click
End With
.Frame("wap_2").Link("返回XX首页").Click
.Sync
End With
Next
loop
file.close '关闭文件
14 怎样识别弹出的web窗口和对象
1, 进入object identification
2, 在enviroment中选择web
3, 选择某个test object class,如browser
4, 添加mandatory properties
5, 确定
6, 重新录制脚本
7, OK
15 Vbs写文件
set fs =createobject("scrīpting.filesystemobject")
if (fs.fileexists("c:\hjq.txt")) then
set f =fs.opentextfile("c:\hjq.txt",8)
f.write chr(13)+chr(10)
f.write "hello"
f.write chr(13)+chr(10)
f.writeline "beijing"
f.close
else
set f=fs.opentextfile("c:\hjq.txt",2, true)
f.writeblanklines 2 '写入2个空行
f.write "china"
f.close
end if
16 基本函数
QTP的基本使用函数:
1, 获取对话框相应的文字: GetVisible Text
2, 查找相应的字符串: instr (1,查找目标字符串,所查找的字符串)
3, 随机数的获取: Randomnumber.Value() 或cstr(int(Rnd*10)+1)
4, 等待函数: Wait(秒数)
5, 获取数组下标: UBound (数组名)
6, 拆分数组: Split(MyString, ",", -1, 1)
7, 可执行步骤: OptionalStep
8, 报告信息: Reporter.ReportEvent 3, "Save Step", "Out of cycle!"
9, 判断对话框是否存在: .exist
10,事件过滤函数:Reporter.Filter=过滤条件(0,1,2,3),0代表显示所有的error和warning,1,显示error,2,显示waining,3,任何error和warning都不显示。
11,循环函数:do … loop until,for…to… then next,while.
12,数据表格:DataTable,向外赋值,Dim aa = DataTable.value(“CellingName”,”ActionName”).
13,获得对象属性的三种方法GetTOProperty,GetTOProperties,GetROProperty,GetTOProperty获得程序中对象当前的属性,GetTOProperties获得当前属性所有集合,GetROProperty获得的是录制时对象所获得的属性。
14,检查点方法check和输出指定属性值output。
15,函数Descrīption,可以获得某页面同标签的属性进行操作。
16,函数nagative可以随便跳转页面到指定的URL。
17,函数Object可以获得当前页面同属性的控件。
18,函数Focus可以让控件获得焦点,函数Blur则是失去焦点,click单击,dbclick双击。
19,函数setAttribute可以设置控件属性,getAttribute可以获得属性。