- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QTP编程常用方法及实例心得
Quick Test Professional9.0编程常用方法及实例详解
通过QTP获取Web页面中对象属性
在制作自动化用例时需要知道大部分控件的name值,我们不可能都向开发人员询问,QTP为我们提供了一个很好的工具―――Object Spy。使用它可以为我们把每个需要的对象属性全部列出来。
打开QTP“工具”-》“对象探测器”-》点击“对象探测器”,当鼠标变成手的形状时点击目标对象,QTP自动显示其属性值与所有方法。如图:
我们可以根据获取的属性编写VBScript自动化用例。如
Browser(百度一下,你就知道).Page(百度一下,你就知道).Link(”忘记密码”).Click
通过专家视图修改页面中对象的属性值
在程序开发过程中界面变化是常见的问题,对象的name值难免会随着变化。当测试对象的name值变化后,我们再运行自动化测试用例时就会报错,那么除了用标题一中的方法修改外还可以通过编程的方法来动态修改。只需要在发生变化的对象语句前加上
如:将Web页面中custname文本框的name值改为myname
例:Object(description).SetTOProperty Property,Value,
这种方法不会修改对象库中对象的属性值,但运行时也不会报错。
为描述性编程自动创建注释
当希望在每一个新建action时都增加一些头部说明,比如作者、创建日期、说明等,用action template??来实现最简单快捷。??? 方法:用记事本等文本编辑器,输入如下类似的内容:????????? Company: ????????? Author: li_qing????????? Product: ????????? Date: Date???????? 然后将文件保存为ActionTemplate.mst,并存放到QTP安装目录下的dat目录。…外定义变量即为全局变量。
将全局常量值写入EXCEL中,执行用例时将EXCEL导入至Global中也可以实现。
通过程序设定点击页面中的对象
我们在手工编写自动化测试脚本时只需要知道每个页面的TITLE和需要的控件name值就可以编写用例了。下面是设置为主页后,执行百度知道自动登录的手工编写脚本。
点击“百度一下,你就知道”页面的二级页面“百度一下,你就知道”页面中“百度一下”按钮。
Browser(百度一下,你就知道).Page(百度一下,你就知道).WebButton(百度一下).Click
点击“百度一下,你就知道”页面的二级页面“百度一下,你就知道”页面中“登录”链接。
Browser(百度一下,你就知道).Page(百度一下,你就知道).Link(登录).Click
检查被测页面中对象是否存在
在手工编写脚本时,我们常常需要检查一下页面中每个需要测试的对象是否存在,如果对象存在,用例被正常执行;否则应设置提示或报错退出。
检查文本框对象是否存在(通过查源文件找出该对象的name值)
if Browser(百度一下,你就知道).Page(百度个人中心登录).WebEdit(username).Exist Then
MsgBox(用户名对象存在)
else
MsgBox(用户名对象不存在)
End if
设定复选框为选中状态
Browser(百度一下,你就知道).Page(百度个人中心登录).WebCheckBox(mem_pass).Set ON
(注:如果是记录用户名密码状态的复选框,手工编写则会出错。
原因:
1.登录密码被加密,每次生成的密文是不相同的,没法手工编写。
2.选中记录状态的复选框时,系统会读取本次生成的用户名和密文。所以通过计算得出的密文或以前登录使用的密文与本次的密文是不相同的,所以记录登录状态的复选框只能通过软件录入)
设定用例等待执行时长(以秒为单位)
设定等待时长为10秒
Wait(10)
参数化
‘描述性编程为动态文本框赋值
在自动化测试活动中经常会遇到为动态生成的文本框赋值的情况。例如:在订票系统中订一张票时,在下一页面只只显示一条记录;如果客户选择订两张以上的票据时,系统会自动生成相应数量的空记录数,那么此时自动化测试工具运行时就会出现问题。解决的方法如下:
我在QTP提供的测试网站做了如下操作
建立登录用户test
登录后选择订两张票,在后面填写乘客信息时会生成两条乘客信息(必录)
使用循环数组下标的方式计算出每个文本框的动态name值为每位乘客填写信息。
只要数组中用户信息定义没错,用例就没问题。
代码如下图:
‘添加虚拟对象
随着当前技术的日新月异,为了使产品更加美观,产品中出现了更多的特效,比如:Flash动画,而我们的产品就建立在这些Flash当中,那么当Flash中有按钮的时候我们录制自动化用例
原创力文档


文档评论(0)