关于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").Navigate http://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资源方面有关系。真实原因还望各位大侠指点迷津。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值