• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

在 Rational Functional Tester 中如何判断页面是否下载完毕

发布: 2008-7-03 10:42 | 作者: 黄腾龙 | 来源: IBM | 查看: 395次 | 进入软件测试论坛讨论

领测软件测试网


图 3. 在 RFT 中的存储形式:图上部的树型结构,图下部的属性列表。
在 RFT 中的存储形式

Object map 中被映射的对象使用被存储的、静态的、识别属性和对象层次来识别,因此利用 Object Map 中存储的对象将能很好的判断对象所在页面是否完整。

利用 RFT 录制功能,将响应页面的一个对象添加到 Object Map,RFT 会自动为该对象生成查找方法。例如,我们可以针对具体页面上(能明显区别开响应页面与其他页面的)的特定页面元素进行识别。在实际测试运行当中,如果该对象能被找到,即证明该页面已经加载完毕。例如,针对页面中的一个按钮 button_XXXbutton(),其返回值为 GuiTestObject 对象,利用 GuiTestObject 的 waitForExistence() 方法会阻塞当前脚本的执行,直到该对象被找到。

RFT 针对该方法提供了两种接口:

button_XXXbutton().waitForExistence(); 和 button_XXXbutton().waitForExistence(double max_time, double wait_time);

这两个接口的区别在于 .waitForExistence() 利用在 RFT 中设置的时间来执行,而 waitForExistence(double max_time, double wait_time); 利用在运行时指定的时间来执行。

1, button_XXXbutton().waitForExistence();

该方法的具体阻塞时间可以通过在 RFT 中设定的一个全局变量来控制。步骤为:选择菜单 WindowPreferencesFunctional TestPlay back 中设置 Maximum time to attempt to find Test Object 的值,其单位为秒,如图所示。脚本中所有 waitForExistence()方法将默认阻塞所设时间。


图 4. 默认阻塞所设时间
默认阻塞所设时间

2,button_XXXbutton().waitForExistence(180, 1);

通过该方法可以在运行时动态设置阻塞时间,并将覆盖默认值。

采用 Object Map 是 RFT 最基本,最全面支持的方法,它和 RFT 强大的录制回放功能进行了无缝的集成,下面给出了他的一些优缺点。

优点:利用 Object Map 来查找对象,RFT 将完全匹配对象的属性和树状结构,所以该方法能很准确的匹配到相应页面元素,同时也能很准确的判断整个页面是否下载完毕。

缺点:该方法由于依赖于 Object Map, 向 Object Map 中录入对象需要手工来实现,而且针对不同的页面都需要重新录制一个对象,所以不可避免的存在静态识别的重用性问题。对于每个不同的页面,我们都要抓取一个对象到 Object Map 中,这样在不同页面中很难做到重用,而且如果页面结构发生变化还会带来维护成本高的问题。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

32/3<123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网