51Testing软件测试论坛

标题: 对象库问题 [打印本页]

作者: miniyal    时间: 2007-1-29 09:59
标题: 对象库问题
我录制网页的时候,有个对象录不进去,我就手动加进去了,又执行了下脚本,发现个问题,本来对象库只有Brower(XXX).Page(XXX)对象及子对象,但在执行脚本后,对象库又有个Brower(XXX).Page(XXX)_1存在,那我手动加的那个对象就不存在Brower(XXX).Page(XXX)_1下,有没有什么方法不要每次执行脚本都生成一个新的对象呀??
作者: yangkinki    时间: 2007-1-29 10:14
你执行脚本不会加对象到对象库的,是你“我录制网页的时候,有个对象录不进去,我就手动加进去了” 这个时候加进去的
作者: kevin_swpi    时间: 2007-1-29 10:18
"每次执行脚本都生成一个新的对象"

这个说法应该是错误的吧:)
对象不是执行脚本的时候生成的
是在录制的时候才有对象被捕捉然后记录下来
执行脚本的时候它只是根据脚本提示到你对象库里去匹配相应的对象

对象的生成一是录制时候捕捉 一个应该就是你自己手动添加
作者: miniyal    时间: 2007-1-29 10:36
仔细看了看,对哦
作者: Coffey111111    时间: 2007-1-30 10:54
Brower(XXX).Page(XXX)_1应该是你后来手动加的~~sdlkfj5
作者: GMT008    时间: 2007-2-2 01:51
你可以把Brower(XXX).Page(XXX)_1里面的对象移动到Brower(XXX).Page(XXX)里
作者: virgozz    时间: 2007-2-2 08:47
如果进行录制后添加的对象,就会出现在另一库中(不知道这样表述是否正确)为了避免这种情况,建议:1录制前一次添加所有对象(使用对象库扫描测试对象,把对象下的所有子对象添加进去)2描述性编程(不必要所有的对象都描述,可以局部描述子对象)
作者: walker1020    时间: 2007-2-3 10:45
原帖由 virgozz 于 2007-2-2 08:47 发表
如果进行录制后添加的对象,就会出现在另一库中(不知道这样表述是否正确)为了避免这种情况,建议:1录制前一次添加所有对象(使用对象库扫描测试对象,把对象下的所有子对象添加进去)2描述性编程(不必要所有 ...


“如果进行录制后添加的对象,就会出现在另一库中”的说法是不对的,一个脚本的对象库只有一个。你在录制对象的时候QTP就自动生成了相应的对象库,你手工增加对象的时候,也是向这个对象库里面增加对象,只是QTP好像还没有像人那么聪明,即使手工添加的对象已经在对象库里面了,你手工增加的时候,它还是认为你增加的是新对象。所以,才出现了“原来就有Brower(XXX).Page(XXX)这个对象,手工增加对象后,又增加了一个Brower(XXX).Page(XXX)_1”的现象。为了与对象库已有的对象相区别,QTP自动在原来的对象后面增加了一个“_1”。 这有点像你对某个对象添加检查点的时候,QTP生成的语句是
  Browser("Login Page").Page("Page_12").WebTable("2 items found").Check CheckPoint("2 items found")
对它再增加一个检查点的时候,QTP生成的语句可能就是:
  Browser("Login Page").Page("Page_12").WebTable("2 items found").Check CheckPoint("2 items found_2")
即使第二个检查点和第一个完全一样,QTP也自动在检查点的后面增加“_2"。
如果你再一次对它增加一个检查点(哪怕它和前面的两个也完全一样), QTP生成的语句可能就是
   Browser("Login Page").Page("Page_12").WebTable("2 items found").Check CheckPoint("2 items found_3")

请楼主和virgozz 不妨以检查点为例来测试一下。如有错误,欢迎指出!

[ 本帖最后由 walker1020 于 2007-2-3 11:11 编辑 ]




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