关于QTP通过描述性编程仍抓不到页面对象的问题

上一篇 / 下一篇  2011-06-13 18:15:42 / 个人分类:QTP自动化测试

qtp测试中,如果出现页面对象获取不到的情况,我们可以适用描述性编程等方法强制获取页面元素,那么如果碰到使用以上方法仍然无法完成页面元素的操作的情况又该怎么办呢。我最近就碰到了这个问题。

场景为在一个自动化测试下有十余个脚本,每个脚本均通过描述性编程操作页面对象,几乎不使用对象库,并且在每个脚本均有for语句循环50次作用。当测试执行到第10个脚本时,就出现了object对象无法获取的情况。vbs代码如下

Set MyDescriptionOuterText=Description.Create()
MyDescriptionOuterText("micclass").value ="WebElement"
MyDescriptionOuterText("outertext").value ="how to handle"
Set MyDescriptionImage=Description.Create()
MyDescriptionImage("micclass").value ="Image"
Browser("Browser").Navigatehttp://192.168.12.250:81/s?howtohandle
Set MyChildObjectOuterText =Browser("Browser").Page("Page").ChildObjects(MyDescriptionOuterText)
msgbox MyChildObjectOuterText2.count

 

此时获取的count数为0,实际情况该页面上有不止一个该ojbect。

更令人费解的时,将该脚本放置整个测试的起始部分,让它第一个执行,该count数又恢复了正常,显示为2。

研究后猜测是循环迭代次数过多,可能是资源方面的问题,就在每个脚本下释放create()出的对象,未果。

又在第10个脚本执行前清除了cookies并重建session,该count奇迹般地变为了2.代码如下

webutil.DeleteCookies

Browser("Browser").CloseAllTabs
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","","","",3
Browser("Browser").Sync

 

之后又做了实验,将脚本顺序打乱,往往执行到10个脚本之后,出现这样那样的对象无法获取的问题。

猜测可能是和qtp资源方面有关系。真实原因还望各位大侠指点迷津。


TAG: 描述性编程 Cookie cookie it 无法 QTP qtp Session session 对象 获取

 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 6259
  • 日志数: 8
  • 建立时间: 2011-04-14
  • 更新时间: 2011-11-30

RSS订阅

Open Toolbar