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. 你可能不知道的 10 条 SQL 技巧,涨知识了!

    转自:http://mp.weixin.qq.com/s?__biz=MjM5NzM0MjcyMQ==&mid=2650076293&idx=1&sn=38f6acc759df ...

  2. #001 HTML快速入门讲解

    整理了下最早开始学习技术的笔记  3W1H学习法? (其他技术同理) What   HTML是什么? When  什么时候使用HTML? Why    为什么使用HTMl? HOW  怎么使用HTML ...

  3. 在.NET中操作数字证书(新手教程)

    .NET为我们提供了操作数字证书的两个主要的类,分为为: System.Security.Cryptography.X509Certificates.X509Certificate2类, 每个这个类的 ...

  4. CSS3动画理解与应用

    CSS3动画理解与应用 Transform:对元素进行变形:Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.但只有两个关键贞.开始,结束.Anima ...

  5. jQuery鼠标悬停

    (function ($) { $.fn.hoverdir = function(options){ var options = $.extend({ choice : ".cove&quo ...

  6. 20155314 2016-2017-2《Java程序设计》课程总结

    20155314 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:刘子健的第一篇博客 预备作业2:刘子健的第二篇博客--有关CCCCC语言(・᷄ᵌ・᷅) ...

  7. SSM框架之批量增加示例(同步请求jsp视图解析)

    准备环境:SSM框架+JDK8/JDK7+MySQL5.7+MAVEN3以上+Tomcat8/7应用服务器 示例说明: 分发给用户优惠券,通过checkbox选中批量分发,对应也就是批量增加. 对于公 ...

  8. Java反射学习三

    反射与数组 java.lang.Array类提供了动态创建和访问数组元素的各种静态方法. 例程ArrayTester1类的main()方法创建了一个长度为10的字符串数组,接着把索引位置为5的元素设为 ...

  9. java的静态方法多态和匿名对象

    静态方法: 看如下代码 父类: public class FU { public static void show(){ System.out.println("this is fu!&qu ...

  10. Java日志框架中真的需要判断log.isDebugEnabled()吗?

    在项目中我们经常可以看到这样的代码: if (logger.isDebugEnabled()) { logger.debug(message); } 简单来说,就是用isDebugEnabled方法判 ...