文章分类 - QTP学习点滴
摘要:1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc-5.1.8-win32.msi 下载地址:http://mysql.mirrors.pair.com/Downloads/Connector-ODBC/5.1/mysqlconnector-odbc-5.1.8-win32.msi2.安装mysql驱动,默认安装即可。3.添加默认数据源 控制面板->管理工具->数据源ODBC->系统DNS->添加->在“创建数据源”对话框中选择 “MysqlODBC 5.1 Driver”->完成
阅读全文
摘要:发布时间: 2012-1-04 11:28 作者: 余杰 赵旭斌 来源: 51Testing软件测试网QTP提供三种不同的录制方式:正常录制(Normal Recording)、模拟录制(Analog Recording)和低级录制(Low Level Recording)。1.正常录制(Normal Recording) QTP默认的录制模式,这种录制模式是QTP最突出的特点,是直接对对象的操作,可以说此类模式继承了对象模型的所有优点,能够充分发挥对象库的威力。它通过识别程序中的对象来代替以前依赖识别屏幕坐标的形式。但是正常模式并不能保证识别程序中所有的对象,因此,仍然需要其他两种模式...
阅读全文
摘要:作者:zzxxbb112版权所有,侵权必究。 当一个应用在执行了一个步骤之后需要一定时间的响应,而此时脚本并没有准备而是直接执行下一行脚本,那么此时qtp可能会抛出错误。 而同步点的作用就是插入一段等待时间后再执行下一步操作。 在qtp中一共有三种同步点的方式: 1、Sync用法 : Browser("Browser").Sync 2、Wait用法 : Wait 3 3、WaitProperty用法: Browser("Browser").Page("Page"). WebEdit("..").WaitProper
阅读全文
摘要:作者:zzxxbb112版权所有,侵权必究。 测试封装对象称为TO,既为对象库中的测试对象,而在qtp中提供了两种运行时修改或者获取TO对象属性的方式: 1、GetTOProperty GetTOProperty作用是运行时获取测试封装对象的属性值msgbox Browser("Browser").Page("Page").WebEdit("WebEdit").GetTOProperty("name") 分析:通过以上脚本可以直接获取到对象库中名为WebEdit文本框对象的name属性 2、SetTOPropert
阅读全文
摘要:作者:zzxxbb112版权所有,侵权必究。 运行封装对象称为RO,既为运行对象,而在qtp中提供了两种运行时修改或者获取RO对象属性的方式: 1、GetROProperty 作用是获取运行封装对象的属性值,而非对象库中的属性值 Msgbox Browser("Browser").Page("Page").WebEdit("WebEdit").GetROProperty("name") 2、SetROProperty 作用是获取运行封装对象的属性值,而非对象库中的属性值 Browser("Browser&
阅读全文
摘要:作者:zzxxbb112版权所有,侵权必究。QTP封装对象其实还分为两种类型: 1、测试封装对象(TO) 测试封装对象简称TO,通俗的说就是对象库中的静态对象,对象属性为对象库中显示的属性值 2、运行封装对象(RO) 运行封装对象简称RO,通俗的说就是spy中的动态对象,对象属性为spy中查询出来的实时属性值 说的再明白一点: TO就是对象库中的封装对象,RO就是spy中查出来的封装对象。
阅读全文
摘要:作者:zzxxbb112 时间:2009/12/09 版权所有,侵权必究。1、描述性编程: 我们都知道QTP对象的鉴别原理,在QTP回放时,通过脚本中对应对象库中的对象的属性与真实测试对象的属性进行对比并且能够唯一匹配之后才能够对对象进行操作。而描述性编程其实就是通过把对象库中的对象属性的描述全部通过脚本体现出来,并且可以脱离对象库进行运行脚本。2、描述性编程语法:systemutil.Run "C:/Program Files/Internet Explorer/IEXPLORE.EXE","http://www.baidu.com"set oBrow
阅读全文
摘要:当希望在每一个新建Action时都增加一些头部说明,比如作者、创建日期、说明等,用ActionTemplate来实现最简单快捷。 方法:用记事本等文本编辑器,输入如下类似的内容: 'Company: codyy'Author: Sirrah'Product:'Date: Date 然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录 然后打开QTP新创建一个Action,看看Action的头部是不是自动生成注释,是不是很方便?
阅读全文
摘要:'*****************************************************************************************************************'名称:GetAttachmentFromQC'说明:从QC服务器上的指定对象(Test、TestSet或者Defect)中找到指定名称的附件,下载到指定目录'输入:'TestObject-QC上的对象:Test、TestSet或Defect'FileName-下载目标文件名(附件)'DstFolder-下载目标文
阅读全文
摘要:1、脚本中若没有涉及测试对象库对象的情况下,是不会触发场景恢复的;2、测试对象库中没有包含某个运行对象时,导致没有找到对象的错误,也不会触发场景恢复,会被当成脚本错误;3、需要手动处理的弹出框,当前线程处于等待人为点击弹出框的状态,也不会触发场景恢复,就如1中的msgbox 这个例子;4、如果被调用的外部文件中的function有语法错误,也不会触发;5、如果在File->Settings…->Recovery (Tab)->Activate Recovery Scenario被设置成never了也不会被执行。 on every step:只要出现恢复的场景,就执行场景的动作
阅读全文
摘要:QTP Web操作时,当鼠标移到某个对象上时,才会出现对应的操作,而这些都是通过JS来实现的,所以使用Click事件,无法成功达到我们想要的结果。 还好,对应JS中的FireEvent方法,QTP中也有对应的,它支持的事件 有:onchange,onclick,ondblclick,onblur,onfocus,onmousedown,onmouseup, onmouseover,onmouseout,onsubmit,onreset,onpropertychange。 对上述情况,使用onmouseover即可实现,当onmouseover完成之后,再去执行接下来的操作,就能...
阅读全文
摘要:作者:zzxxbb112 时间:2009/12/17版权所有,侵权必究。出处:http://blog.csdn.net/zzxxbb112 测试中经常会出现在两个页面中的使用同一个对象,出现这样的情况我们一定是使用同一个对象来处理,这样才不会出现重复对象,就比如我们使用百度搜索,当我们打开百度时有一个搜索框,在输入一些内容提交后,页面会重载并且搜索框这个对象仍然存在,这个时候如果我们需要再次控制搜索框这个对象我们一定会想到直接使用之前对象库里的那个搜索框对象,因为它们其实就是同一个对象。接下来我们一步步来进行操作和讲解。来看下面的例子,我们需要实现的是在输入搜索内容后点击提交后页面跳转完成继.
阅读全文
摘要:作者:zzxxbb112 时间:2009/10/19 版权所有,侵权必究。出处:http://blog.csdn.net/zzxxbb112垂直分割选取 ---- 通过定位在文本中选取一个特定的垂直柱,并可以进行多行同时输入代码如下图所示: 当然QTP的IDE也不例外,同样也可以使用此功能来方便省去很多不必要的操作 示例操作步骤如下: 1.新建一个TEST,输入以下代码 2.现在我们可以使用垂直选取的方法轻松的对多行代码进行同时更改,首先我们要选取“垂直柱” 方法: 在左上角点击鼠标左键往右拉一定距离不放手,与此同时我们点下鼠标右键,然后我们就可以轻松的进行垂直段的选择了。...
阅读全文
摘要:作者:zzxxbb112 时间:2009/8/26 版权所有,侵权必究。出处:http://blog.csdn.net/zzxxbb112 在我们打开QTP之后,我们可以看到有如下的一个Add-in Manager 框弹出来 这是一个QTP插件管理器,每次启动前需要选择对应的插件才能进行测试。 经常会在网上看到一些朋友会问:这个项目是用什么什么语言写的,应该选择哪个插件? 其实提出这个问题的朋友是因为没有了解插件的真正含义和作用。 插件的含义与作用: Add-in 的选择是为了能够成功识别对应Add-in的测试对象控件,也就是说是和被测控件有关,而跟什么什么语言写的是没有关系的。 ...
阅读全文
摘要:ByZZXXBB112|Published: 2009-08-31 15:03 下面我就来说一下怎样在QTP中实现Complete Word 首先大家可以打开QTP,点击菜单下的EDIT --> Advanced下 找到Complete Word后,你会发现一个很尴尬的事情 没错QTP设定的Complete Word正是我们平常一直切换中英文的快捷键Ctrl+space 而由于快捷键Ctrl+space被优先认定为中英文切换导致QTP的Complete Word失效 解决方法: 注意:放弃CTRL+SPACE,平时切换的话可以使用CTRL+SHIFT 1.右键语言栏,点击设置 ...
阅读全文
摘要:脚本前加上:Dim objQTPWinSet objQTPWin = GetObject("" , "QuickTest.Application")objQTPWin.WindowState = "Minimized"脚本结束的位置加上:objQTPWin.WindowState = "Restored"Set objQTPWin = Nothing
阅读全文
摘要:使用QTP部分Browser方法,如Navigate、Back、Home、Refresh等失效,脚本执行到这些方法,并不会抛出错误,而且qtp日志里看到的状态是"done"。BHOManager Class插件的问题。文件名是BHOManager.dll,部分人的机器上该插件被禁用或删除掉了,猜测原因可能是使用了某些清理ie的工具导致。解决该问题的方法很简单:如果是被禁用了,只要重新启用即可;如果是被删除掉了,可以重新安装qtp,或者从别处拷贝BHOManager.dll文件过来,用regsvr32 BHOManager.dll注册后就可以了。
阅读全文
摘要:Common ASCII codes for QTPQTP CODESYMBOLDESCRIPTIONChr(34)"Double QuotesChr(10)Line FeedChr(13)Carriage ReturnChr(32)SpaceChart for all the QTP Chr() codes:QTP CODESYMBOLDESCRIPTIONChr(0)NULNull charChr(1)SOHStart of HeadingChr(2)STXStart of TextChr(3)ETXEnd of TextChr(4)EOTEnd of TransmissionC
阅读全文
摘要:ByZZXXBB112|Published:2011 年 04 月 18 日 共享函数库是qtp提供的一共用于共享脚本代码的方式,它一共有两种加载方式: 1、静态加载 (Resources) 2、动态加载 (ExecuteFile) 函数库静态加载步骤: 1、进入 Setting –> Resources (tab) 2、点击”+“,选择函数库文件 3、点击ok 函数库动态加载步骤: 例如:ExecuteFile “d:1.vbs” 注意:此处可以加载Txt、vbs、qfl等格式的函数库文件
阅读全文
摘要:QTP动态加载vbs文件时,可能经常会出现下图的错误: 具体原因分析如下: 在QTP新建、打开修改Function Library文件是以Unicode编码被保存下来的,而正常执行的文件一定要是ANSI编码,所以导致出现”无效字符”的提示 解决办法: 1. 打开该vbs文件,然后点击”另存为”,编码选择”ANSI”,覆盖掉原来的文件即可 2. 对于要用ExecuteFile引用的vbs文件,最好用记事本或其它编辑工具保存为ANSI编码的,QTP只能保存成Unicode的所以不要用QTP(这也算是QTP的一个bug)
阅读全文