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、日期控件的日期选择例子
选择日期

脚本为:
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 )
 
 
 
 
 

QTP日常积累的更多相关文章

  1. Python 日常积累

    包管理 >from ... import ... 的用法和直接import的区别 直接使用import时,如果需要使用到导入模块内的属性和方法,必须使用模块名.属性和模块名.方法的方式进行调用 ...

  2. 日常积累oracle 有关信息

    对于VARCHAR2类型,我们在内存使用和效率上需要做出一个权衡.对于VARCHAR2(长度>=2000)变量,PL/SQL动态分配内存来存放实际值,但对于VARCHAR2(长度<2000 ...

  3. 日常积累之JSON.stringify和JSON.parse substr

    1.substr(start,len) 从字符串中读取内容,第一个参数是读取的首位置,如果为负数,则从末尾倒数计数. 第二个参数是要读取的长度. eg: var str = "silence ...

  4. 苹果浏览器和uc浏览器在移动端的坑(日常积累,随时更新)

    先mark 1 .  移动端uc浏览器不兼容css3 calc() 2 .  ie8下a标签没有内容给宽高也不能触发点击跳转 3 . safari输入框加上readOnly="ture&qu ...

  5. SQL 性能调优日常积累

    我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1)选择最有效率的表名顺序(只在基于规则的优化器中有效) ORACLE 的解析器按照从右到左 ...

  6. SQL 性能调优日常积累【转】

    阅读目录 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效) (2)WHERE子句中的连接顺序 (3)SELECT子句中避免使用 ‘ * ‘ (4)减少访问数据库的次数 (5)在SQL*Plu ...

  7. Jquery 之 日常积累(一)

    1.jquery函数在参数中传递 this,正确的写法: //页面中用 GetString(this); //脚本中定义 function GetString(obj){ var str = $(ob ...

  8. C# 之 日常积累(二)

    主要涉及(1)数字前补0:(2)去掉decimal类型后边无效的0相关问题. 1.数字前补0 ; ) { returnnumber.ToString(); } else { returnnumber. ...

  9. js日常积累

    1.数组转字符串 str.join(',') 2.字符串转数组 arr.split(',') 3.数组排序 function sorb(a,b){return a-b;}; arr.sort(sorb ...

随机推荐

  1. JqGrid中文文档之TreeGrid

    几年之前写过一个非常简单的jqgrid属性说明. 今天又用到jqgrid这个控件了,捣鼓了许久,第一个treegrid完成了 jQuery("#list1").jqGrid({ u ...

  2. 企业生产环境集群稳定性-HA就行吗?

    在企业生产中,集群一旦运行,是要尽可能的将损失降到最低,现在所有的大数据技术都有HA,spark的.Hadoop的.HBase的等等, HA分冷备和热备,热备是集群自带的,冷备就是硬件的. 这样一种情 ...

  3. 关于安装AndroidStudio中遇见的问题

    安装AndroidStudio: 最近,准备了解下Android,就买了本<第一行代码Android:第二版>, 最开始就是安装AndroidStudio,刚开始以为安装的挺容易的,结果… ...

  4. JavaScript基础之数据类型部分总结

    JavaScript 是世界上最流行的脚本语言,被设计为向 HTML 页面增加交互性. 我把它的基础语法分为了三个部分:数据类型,运算符,流程控制语句.入门还是比较容易的. 基本概念: 标识符:指变量 ...

  5. 根据需求设计类并且画UML类图练习

    题目如下: // 打车时,可以打专车或者快车.任何车都有车牌号和名称// 不同车价格不同,快车每公里1元,专车每公里2元// 行程开始时,显示车辆信息// 行程结束时,显示打车金额(假定行程就5公里) ...

  6. python里的splitlines具体解释

        Python的split方法函数能够切割字符串成列表,默认是以空格作为分隔符sep来切割字符串. In [1]: s = "www jeapedu com" In [2]: ...

  7. Yarn遭到挖矿病毒攻击

    测试环境在阿里云上暴露出了公网端口,前一段时间CDH集群原本是开启了Kerberos认证,但是因为大家反映使用麻烦,所以就又关闭了Kerberos. 最近几天大家普遍反映测试环境上hive和hdfs ...

  8. Spring-IOC bean 生命周期之 Lifecycle 钩子

    Lifecycle callbacks Initialization callbacks.Destruction callbacks 要与容器的bean生命周期管理交互,即容器在启动后和容器在销毁前对 ...

  9. c# datetime用法总结

    备忘:YYYY-mm-dd HH:MM:SS部分解释 d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中某天的缩写名称,在 Abbreviated ...

  10. 集合之hascode方法

    在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分, ...