onlonely 发表于 2009-3-29 11:27:36

自己使用的QTP模板!实用为主(欢迎指正)

'--------------------------脚本说明-----------------------------------------
'产品版本: XXX
'测 试 员: XXX
'测试功能: 日记本
'脚本类型: 描述性编程脚本
'输入参数: 无
'输出参数: 无
'脚本说明: 模板,提供常用的处理方法
'----------------------------------------------------------------------------
On error goto next '出错处理
'--------------------------读取文件------------------------------------------
Dim filename
Dim fileurl
filename = "diarys"                        '文件名! 注意文件名成和数据表名称要一样
fileurl = "D:\QTP\Diarys\"&filename&".xls"'文件路径
'msgbox(fileurl)                                          '调试语句
If DataTable("test_url", dtGlobalSheet)="" Then   '先在global表,新建一个字段test_url
Call DataTable.ImportSheet(fileurl ,filename,"Global")
End If
'-----------------------------------------------------------------------------
'--------------------------准备通用数据---------------------------------------
Dim testname
Dim allname

testname = "我家日记" '测试模块
allname = testname&" - eHome 网家 — 记录家庭成长" '测试模块全名
set allpage=browser("name:=(.)*").page("title:=(.)*") '全部页面变量
set testpage=browser("name:="&allname).page("title:="&allname) '测试页面变量
'msgbox(testpage.GettoProperty("title")) '调试语句
'------------------------------------------------------------------------------
'--------------------------判断是否可以运行脚本--------------------------------
'msgbox(testpage.Exist)                                          '调试语句
'msgbox(allpage.link("text:=退出","index:=0").exist)   '调试语句
If testpage.Exist = false and allpage.link("text:=退出","index:=0").exist <> false then
allpage.link("text:="&testname,"index:=0").click
testpage.Sync
elseif testpage.Exist = false then
msgbox("error:所在页面错误,请从新运行脚本")
wait 1000
end if                                    '此判断只能用在主要模块中使用
'------------------------------------------------------------------------------
'---------------------获取对象数量---------------------------------------------
Dim num
Dim numobject
Set numobject= Description.Create()

numobject("text").Value="\[编辑\]"
num=testpage.ChildObjects(numobject).count
'msgbox(num)                        '调试语句
'------------------------------------------------------------------------------
'-----------------------------打开指定连接-------------------------------------
'Browser("name:=(.)*").Navigate DataTable("tes_turl", dtGlobalSheet)
'Browser("name:=(.)*").Navigate "mail.163.com"
'Browser("name:=eHome 网家 — 记录家庭成长").Sync   '等等页面完全打开
'------------------------------------------------------------------------------
'----------------------------脚本开始------------------------------------------

'----------------------------脚本结束------------------------------------------
'--------------------------设立检查点------------------------------------------
set checkobject = Description.Create()

'设置检查属性和属性的值,如需要可设置多个属性和属性值
checkobject("text").value = DataTable("diarybook_name", dtGlobalSheet)
checkobject("index").value = 0
'是否取消正则表达式判断
checkobject("text").RegularExpression = False

'设置检查对象---目前是检查 link 对象
If testpage.Link(checkobject).Exist Then
Reporter.ReportEvent micPass, "创建的笔记本名称连接正确", "Pass" '设置通过时的描述语句
Else
Reporter.ReportEvent micFail, "创建的笔记本名称不正确", "Fail" '设置不通过时的提示语句
End If
'------------------------------------------------------------------------------
'--------------------------等待对象出现----------------------------------------
dim i
set waitobject = Description.Create()

'设置等待对象属性和属性的值,如需要可设置多个属性和属性值
waitobject("name").value = "家务中心"&DataTable("datevalue", dtGlobalSheet)

'设置是否取消正则表达式判断,false为取消,true为不取消
waitobject("name").RegularExpression = False

'开始等待
i=0
Do
If testpage.link(waitobject).Exist Then '设置等待的控件类型,目前为link控件
Exit do
End If
i=i+1
If i=5 Then
msgbox("等待时间过长,可能出故障了.")
End If
Loop 'true,False 真假
'-----------------------------------------------------------------------------
都在上面了.就不发附件了

xiaoyaoke 发表于 2009-3-30 09:27:29

支持一下

zhangyan8212 发表于 2009-3-30 11:35:23

看一下!似乎好了对出错情况的处理!比如提交bug什么的!

onlonely 发表于 2009-3-30 20:36:39

回复 3# 的帖子

提交缺陷属于代码中的,这里面,主要是放些常用的东西里面

david208 发表于 2009-3-30 20:52:38

哦 明白了 分开写了

tangxiaomei123 发表于 2009-3-31 08:42:45

学习了

heqingbluesky 发表于 2009-3-31 11:41:59

你没有应用到Function和OO封装?
每个Case都是这么一大段代码?
执行效率和Debug如何进行?
页: [1]
查看完整版本: 自己使用的QTP模板!实用为主(欢迎指正)