遭遇QTP描述性编程的对象识别错误
2008-05-09 17:35
423 查看
昨天遇到一个QTP描述性编程的比较奇怪的现象,以前跑的好好的脚本突然验证失败了,经过多次尝试终于发现了其中的规律,那就是QTP在描述性编程上存在对象识别错误的情况。如果各位曾经遇到过这个问题,或者有好的解决方法的话,请指教。
案发现场如下:
在脚本中用描述性编程定义了对象
验证对象是否存在,然后点击这个对象并进行删除,到这里所有操作都是正常的
验证删除结果,判断对象是否存在,居然对象还是存在的!(这里就出现了错误)
但是,如果删除之后,验证对象是否存在之前如果再设置一下对象,则判断为对象不存在(正确)
脚本如下:
Set obj = Browser("XX").Page("XX").WebElement("innertext:=XX","html tag:=SPAN")
msgbox obj.exist(2) -- True
obj.Click
obj.FireEvent "oncontextmenu" --弹出右键菜单
Browser("XX").Page("XX").WebElement("删除(D)").Click --删除
msgbox obj.exist(2) -- True(有错)
Set obj = Browser("XX").Page("XX").WebElement("innertext:=XX","html tag:=SPAN") --如果这里再次设置一下,就能判断正确了
msgbox obj.exist(2) -- False
如果上面没有重新再设置一次,则以下方式也能得到正确结果,说明对象识别出现错误
msgbox Browser("FreeQuery").Page("FreeQuery").WebElement("innertext:=qqq","html tag:=SPAN","index:=0").exist(2) -- False
另外,在某页面设置了对象,如果退出这个页面再进来,即使对象没有任何变化,也要重新定义一次,否则也会发生对象找不到的情况。
关于这个问题,为什么会这样,有什么方法避免,暂时还不清楚 ,希望各位大侠指点。
相关文章推荐
- QTP的那些事--采用DOM,描述性编程获取指定的对象
- QTP描述性编程-遍历页面多个对象
- “运行错误-不能识别对象”的处理方法(QTP)
- 对象使用Init方法重新初始化和描述性编程识别对象
- 关于QTP通过描述性编程仍抓不到页面对象的问题
- 描述性编程->解决识别运行时的对象
- QTP运行错误:对象无法识别的解决办法(转)
- QTP,在描述性编程中使用Run-time属性来定义对象
- QTP描述性编程---直接描述方式
- QTP对象识别与操作
- 描述性程序对象属性值不识别的问题
- QTP描述性编程两种方式
- QTP 无法识别web对象原因
- QTP---描述性编程
- QTP的那些事---描述性编程的使用
- QTP 描述性编程 VS 录制
- “运行错误-不能识别对象”的处理方法
- QTP对象识别机制 (转载)
- QTP描述性编程入门介绍
- QTP的对象顺序识别技术