惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
Martin Fowler
Martin Fowler
B
Blog RSS Feed
D
DataBreaches.Net
L
LangChain Blog
月光博客
月光博客
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
美团技术团队
Jina AI
Jina AI
博客园 - 司徒正美
雷峰网
雷峰网
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
小众软件
小众软件
罗磊的独立博客
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta

博客园 - pent

记一次有内存泄漏的性能测试 持续关注质量——产品属于每一个人 Bug bash、ZBB与软件质量 Jira升级小插曲 如何使用ping和tracert命令检测丢包 软件测试招聘之难【转】 何经华:我在职场30年 买房炒股是中国百姓最理性的选择 自动化测试十大要点[转] 质量名言 让你受益匪浅的IT培训语录 一千元的代价 如何使用Oracle sql loader批量导入数据 LoadRunner字符串与参数的操作及转换技巧 LoadRunner中多值关联的3种处理方式 【推荐】-Web下的整体测试 QTP User-Defined Function 学习经验汇总 LoadRunner Settings for Web Timeout Error 薪资留人还是情感留人?
遭遇QTP描述性编程的对象识别错误
pent · 2008-05-09 · via 博客园 - pent

昨天遇到一个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

另外,在某页面设置了对象,如果退出这个页面再进来,即使对象没有任何变化,也要重新定义一次,否则也会发生对象找不到的情况。

关于这个问题,为什么会这样,有什么方法避免,暂时还不清楚 ,希望各位大侠指点。