在大量的脚本编辑与维护过程,我头疼了!
QTP9系列增加了函数库功能,结合描述性编程,把共用/通用的内容提取出来,脚本简化多了,也更容易维护了。新建一VBS脚本,内容如下:
Option Explicit '强制要求显式声明脚本中的所有变量
'********************* 将常用/通用对象提取出来 ***************************
Dim myPage,leftFrame,rightFrame,topMenu '声明变量
'定义 myPage为浏览器页面,不同项目需要定制,用Spy查看后修改即可
Set myPage = browser("title:=测试程序").page("title:=测试程序")
'定义 leftFrame 为系统框架页面左侧菜单区域
Set leftFrame = myPage.frame("name:=leftmenu")
'含有左侧菜单的框架,右侧的框架部分
Set rightFrame = myPage.frame("name:=main")
'定义 topMenu 为系统框架中主菜单区域
Set topMenu = myPage.frame("name:=topmenu")
'****************************************************************************
'********************* 判断以上定义的对象是否 *******************************
Dim errH,errMsg,myArray,i
'将已定义的对象进行检测,查看对象是否存在
myArray = Array(myPage,leftFrame,rightFrame,topMenu)'将定义的对象加到数组中
errH = 0
errMsg = ""
For i = 0 to UBound(myArray) step 1'UBound判断数组长度
If myArray(i).exist(1) = false Then
errH = 1'记录错误状态,1为存在错误
errMsg = errMsg & " [" & (i+1) & "] "
End If
next
If errH = 1 Then
msgbox "定义的第" & errMsg & "对象不存在!",0+48,"警告!"
End If
'*****************************************************************************
'*********************** 定义左框架中的 按钮单击事件 ***********************
Public sub leftBtnClick(byval btnName)
'单击左侧按钮,参数值为按钮的名称
If leftFrame.WebElement("outertext:="&btnName,"html tag:=DIV","index:=1").exist(1) = false Then
msgbox "找不到〔"& btnName &"〕按钮!", 0 + 48 ,"提示"
Exit sub '若主对象都不能识别,不必继续运行下面的了
ElseIf leftFrame.WebElement("outertext:="&btnName,"html tag:=DIV","index:=1").Image("html tag:=IMG").exsit(1) = false Then
msgbox "识别〔"& btnName &"〕按钮上的图片失败!", 0 + 48 ,"提示"
Exit sub
End If
leftFrame.WebElement("outertext:="&btnName,"html tag:=DIV","index:=1").Image("html tag:=IMG").click
End Sub
'*******************************************************************************
然后在脚本里,可以直接使用“myPage,leftFrame,rightFrame,topMenu”来编写脚本了,很直观,维护性也好,把VBS稍稍改动就可以用到此框架的其它程序中了。


档案
日志
相册
视频



评论
想第一时间抢沙发么?