51Testing软件测试论坛

标题: 为什么我的脚本和对象库不对应呢?? [打印本页]

作者: 158403991    时间: 2009-11-2 15:02
标题: 为什么我的脚本和对象库不对应呢??
我是初学者,关于qtp的问题
1为什么我录制了一个web系统A,再录制web系统B时,对象库里的对象不时空的而是我录制A时的对象,我只有删除了对象库里的对象才能进行web系统B的录制,然而再打开A的时候就无法回放了,因为对象库没有被与校本同时保存上,对象库空了,请问该怎么解决?
2如何录制GIS中的地图放大功能??(进行框选地图的过程录制不上)
作者: hsjzfling    时间: 2009-11-2 15:26
这涉及到了对象库的管理和维护问题。

而其实你录制B时根本没必要删除录制A时的对象,能成功回放就可以了。对象的名称不代表任何实际意义,只是将代码和对象库关联起来。
作者: 158403991    时间: 2009-11-2 16:56
非常感谢你的回帖,我想知道如何将我的对象库和我录制的将本对应起来
将对象库和脚本存在一起,这样将脚本拿到另一个机器也能运行,请多多指点
作者: hsjzfling    时间: 2009-11-2 17:59
你录制的时候原本就是对应起来的。你保存脚本时对象库和脚本也是自动保存在同一个Test中的

你的最大的疑惑是在"1为什么我录制了一个web系统A,再录制web系统B时,对象库里的对象不时空的而是我录制A时的对象",但其实这根本就不是个问题。
因为你先录制了A系统,获得Browser("A").Page("A")这样的对象。而录制B系统时,B系统的Browser,Page对象的属性与A系统完全一致(即都没有用任何识别属性),对QTP来说,一般识别属性一样的对象即为同一个对象,所以它认为B系统的Browser与A系统的都是同一个Browser,所以你录制B系统得到的代码也是Browser("A").Page("A"),而这个A只是将这句代码与对象库中名字叫做A的Browser对象关联起来,然后QTP根据对象库中对象的属性去应用程序中识别对象。
作者: hk_ella    时间: 2009-11-2 18:02
标题: 回复 3# 的帖子
你好,如果你只是想将脚本拿到另一台PC上运行的话,可以这样
在PC-A上录制,其上有你的脚本和对象库,然后将对象库导出(共享机或本地都可以),然后将其放到一个PC-B能访问的路径,在PC-B上QTP新建一工程,导入该脚本和对象库,就可以运行该脚本了
作者: mentgmery    时间: 2009-11-2 18:03
应该是这样的
作者: 158403991    时间: 2009-11-3 11:53
如何导入对象库呢?8.2版本的
我保存脚本时,没见对象库是和脚本一起保存的,我建立的test都是保存在默认安装程序的tests文件夹下,能不能告诉我假如我建立一个名字叫“测试脚本”的test,那么对象库的存放路径在“测试脚本”的文件夹下的哪里呢??
说明一下,如果我不删除原有对象库里的对象,那么再录制新的系统时,关键字视图和专家视图都会受到应该,显示的脚本都是以前那个系统的brower和page,所以我在保存录制完的脚本的同时,必须同时保存好对应的对象库,但我保存完脚本,把对象库中的对象都删除时,再运行脚本,发现对象库并没有保存上,这是为什么呢???
作者: hsjzfling    时间: 2009-11-3 13:51
"如果我不删除原有对象库里的对象,那么再录制新的系统时,关键字视图和专家视图都会受到应该,显示的脚本都是以前那个系统的brower和page"
这个完全没有一点关系,你如果觉得这个名字不爽,可以去对象库中将对象的名称改成公共的名称。
如果你非要区分这两个Browser和Page,那需要给他们再添加个强制识别属性,比如title,或者url,当然这一般也需要用正则表达式了。

估计说了这些,LZ的问题会更多了。。。
作者: 158403991    时间: 2009-11-3 16:03
是啊,问题是很多,刚开始使用,自己能力又不强,遇到问题很难自己解决,只好求助了
作者: hsjzfling    时间: 2009-11-3 17:16
看帮助文档中的User's Guide吧,从头到尾看上一两遍,边看边实践,弄懂个8成就能变小高手了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2