QTP日常积累

时间:2022-07-29 20:01:48
1、init同步测试对象
同步测试对象:
CODE:
Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").init
 
分析:
Obj.init方法为QTP的隐藏方法,在帮助文档中没有任何介绍,用于重新同步页面上的测试对象。可以通过使用VS2008改装过的Debug引擎来查看此方法。
 
2、QTP两种回放模式
(1. Event模式 -- 事件跟踪 使用浏览器事件运行鼠标操作
(2.Mouse模式 -- 鼠标跟踪 使用鼠标运行鼠标操作。
Event模式就是我们平时默认用的模式,也就是事件,其实QTP的click方法只是触发了对象的CLICK事件,而并未真正通过鼠标来进行点击按钮。
Mouse模式的话,我们会看到回放的时候,鼠标是跟着对象走的,也就是鼠标跟踪模式。
 
使用代码控制模式变换
Setting.WebPackage("ReplayType") = 2  
1代表事件跟踪,2代表鼠标跟踪(可模拟手工点击,如右键点击
 
3、自动关闭msgbox
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Popup "等待5秒后关闭",5,"Title"
4、页面滚动条WinScrollBar对象操作,
WinScrollBar对象是指滚动条对象,可以使用其中的Set、NextLine、NextPage、PreLine、PrevPage这几个方法来模拟用户拖动滚动条的动作
'—————————————————————————————————————————
'名称:ScrollBarUp
'作用:滚动条向上
'参数:Obj:需要滚动的对象;otimes:滚动的次数
'使用:ScrollBarUp(Browser("Browser").Page("Page"),6)
  Function ScrollBarUp(Obj,otimes)
On Error Resume Next
Dim i
For i = To otimes
Obj.Object.body.doScroll("scrollbarUp")
Next
Err.Clear
On Error Goto
End Function
'—————————————————————————————————————————
 
'名称:ScrollBarDown
'作用:滚动条向下
'参数:Obj:需要滚动的对象;otimes:滚动的次数
'使用:ScrollBarDown(Browser("Browser").Page("Page"),6)
 Function ScrollBarDown(Obj,otimes)
On Error Resume Next
Dim i
For i = To otimes
Obj.Object.body.doScroll("scrollbarDown")
Next
Err.Clear
On Error Goto
End Function
 
5、对象库两种方式导出的不同之处
先用 Resources->Object Repository 或 Ctrl+R 的方法打开对象库。
然后就有了下面两种导出:
  • File->Export Local Objects
  • File->Export and Replace Local Objects
①和②都有导出对象库的功能,但②比①多一个替换功能。
例:添加一个对象至对象库
使用①导出对象库后,对象库中对象无变化,还是本地对象。
Resource->Associate Repositories中的Repositories中无副对象库文件加载。
使用②导出对象库后,对象库中原对象全部都由本地对象变为副对象。
Resource ->Associate Repositories中的Repositories中有了一个副对象库文件,为刚刚导出的对象库文件。
6、日期控件的日期选择例子
选择日期
QTP日常积累

脚本为:
1
2
3
4
5
6
7
8
Dim Dim X
X = "8"
Dim objWidth
objWidth = Browser("Browser").Page("Page").Frame("Frame").WebEdit("WebEdit").GetROProperty("width")
With Browser("Browser").Page("Page").Frame("Frame")
.WebEdit("WebEdit").Click objWidth -10 , 5
.WebElement("class:= urCalPicDay urBorderBox","innertext:=" & X,"index:=0").Click
End With
说明:
1. X是参数化用的。
2. 为什么用要用到objWidth,那是因为识别问题,我这边的这个控件被识别成了WebEdit,且最后的那个点出日历表的小图标无法点击到,所以用了Click的坐标参数。
3. 由于日历上会有本月的1号和下个月的1号,本月的30号和上月的30号,为了定位到我想要的日期,所以描述的时候使用了class属性。
 
7、QTP支持的正则常用表达式
  • 使用反斜杠字符 ( \ )
  • 匹配任意单个字符 ( . )
  • 匹配列表中的任意单个字符 ( [xy] )
  • 匹配不在列表中的任意单个字符 ( [^xy] )
  • 匹配某个范围内的任意单个字符 ( [x-y] )
  • 特定字符的零次或多次匹配 ( * )
  • 特定字符的一次或多次匹配 ( + )
  • 特定字符的零次或一次匹配 ( )
  • 对正则表达式进行分组 ( ( ) )
  • 匹配几个正则表达式中的一个表达式 ( | )
  • 在一行的开始进行匹配 ( ^ )
  • 在一行的结尾进行匹配 ( $ )
  • 匹配包括下划线在内的任一字母数字字符 ( \w )
  • 匹配任意非字母数字字符 ( \W )