关闭

51Testing丛书连载:(十五)精通QTP——自动化测试技术领航

发表于:2012-1-06 13:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

  这一步唯一要做的就是把“视频”对象同样添加到Action2中,以备不时需要。“视频”对象在?link.tsr?文件中,在添加前可以看到目前该文件中的对象没有出现在?Action2中(图1-89),就是因为在设置时没将Action2从可用设成已用(见图1-26)。所以,只需要将Action2“右移”就可以了,步骤直接忽略,最终效果如图1-90所示。

图1-90

  在“视频”对象被添加进Action2后,目标也就完成了。不过相信细心的读者会发现一个问题,大家先把书翻到前面看图1-87,在link.tsr文件被加载后,Action1中的所有对象都是灰色显示的,这代表这些对象是从副对象库中加载的,那为什么到了Action2中,只有“视频”这个子对象灰色而其父对象与祖父对象不灰色(请看QTP当前环境,也可看图1-90)?其实道理很简单,“视频”、“百度一下”、“wd(搜索框)”都是子对象,它们的祖父对象Browser以及父对象Page是3兄弟共有的。之前已经完整操作过一遍了,添加“百度一下”是添加到本地对象库的,所以,其父对象Page以及祖父对象Browser也属于“本地对象”,“本地对象”是不会灰色且可编辑的,这个毋庸置疑。那么在“视频”对象加载进来后,由于它的祖父对象和父对象与Action2中的完全吻合,QTP会在吻合的时候进行合并,“户主”还是原来的“本地对象”,所以“视频”对象只能自己灰色,QTP绝对不会允许它改变它祖父和父亲的“户籍”,这就是QTP的一个规则,虽然不是很重要,但是还是需要为读者揭开这个谜团。其实在之前加载“百度搜索框”的步骤时就已经出现了这个情况,“wd”灰色而其祖父Browser与父亲Page不灰色。

  到这里为止,整个实例过程讲解全部结束,这个实例还是比较细致的,在分步讲解过程中,也扩展穿插了一些小知识点,希望读者能够完全掌握“副对象库”的使用方法并做到融会贯通!另外需要注意,点击QTP的上方菜单栏Resources→Associate Repositories,同样能够打开副对象库,入口不同但是结果是相同的。

  在结束第10小点之前,作者还要分享一句代码,它就是本书中会陆续讲到的3大实时动态加载的第1个之“动态对象库加载”,代码如下所示:

RepositoriesCollection.Add "D\QTP自动化测试技术领航\link.tsr"

  这句代码写在脚本中,一旦被执行到以后会触发加载对象库文件使其成为副对象库的事件,效果和手工添加副对象库完全一致,只是没有了选择Action并加载的步骤,因为没必要,把这句代码写在Action1中,则说明加载到Action1中;添加到Action2中,则代码加载到Action2中,依此类推。通常,把3大实时动态加载的代码写在脚本的最前面几行,另外需要注意的是,3大实时动态加载的生命周期都很短,脚本执行结束它们也就结束。下面提供一个用VBScript后台语言动态调用副对象库的函数供读者参考:

Public Function AddObjectRepository(objectrepositoryname) 

     Dim Pos

     '判断:如果存在".tsr"后缀名则直接使用文件路径,如果不存在则添加后缀名

     If instr(objectrepositoryname,".tsr") > 0 Then

     RepPath = objectrepositoryname

     else

     RepPath = objectrepositoryname & ".tsr"

     End If

 

     '初始化:如果存在残留的副对象库则删除

     RepositoriesCollection.RemoveAll()

     '添加副对象库

     RepositoriesCollection.Add(RepPath) 

 

     '添加后的验证:查找副对象库并将值返回给变量,如果存在返回1

     Pos = RepositoriesCollection.Find(RepPath) 

     MsgBox Pos

     '返回的值如果不等于1代表不存在则报错

     If Pos <> 1 Then

     MsgBox "找不到副对象库"

     End If

 

End Function

'调用该函数

Call AddObjectRepository("D\QTP自动化测试技术领航\link.tsr")

本文选自《51Testing软件测试作品系列》之九——《精通QTP——自动化测试技术领航》。

本站经人民邮电出版社和作者的授权,近期将进行部分章节的独家连载,敬请期待!

版权声明:51Testing软件测试网获人民邮电出版社和作者授权独家连载本书部分章节。

任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关阅读:

查看本书介绍>>

查看本书更多试读章节连载>>

查看软件测试作品系列其他书籍>>

66/6<123456
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号