51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2238|回复: 2
打印 上一主题 下一主题

[原创] GUI测试时如何识别GUI对象的?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-23 15:09:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如Java实现的应用程序出现一个输入框,知道它对应的是edit控件。
GUI测试工具,比如qtp怎么知道的?根据外观?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-4-23 17:39:56 | 只看该作者
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
    发表于 2010-4-23 20:02:21 | 只看该作者
    QTP在碰到对象识别问题的时候,会尝试应用智能识别(Smart Identification),如果智能识别能定位出对象则继续脚本的执行,否则提示错误。



    假设录制了下面的脚本:

    Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17

    对于Login这个Image对象,QTP默认采用alt、html tag、image type属性来识别对象。


    然而,当你创建好上述脚本后,开发人员又在同一个页面添加了第二个Login对象(为VIP登录而设计的),同时修改了原来的Login对象的alt属性,改成了“basic login”。

    这样当你针对新版本的页面重新回放上述脚本时,QTP就不能基于alt + html tag + image type的属性组合来识别Login对象了,因为alt属性已经改了。但是QTP仍然能够成功地识别出Login对象来,因为这个时候它会去使用智能识别(Smart Identifation)。



    下面的过程描述了QTP应用智能识别来确认Login对象的步骤:

    1、根据WEB Image对象默认设置的智能识别定义,QTP首先从页面中找出所有html tag属性=INPUT的对象(应用在Base Filter Properties中定义的属性类型进行第一轮筛选和过滤)。


    2、把筛选出来的对象作为候选对象,再依次应用Optioanl Filter Properties中定义的属性类型进行过滤:

    2.1 、QTP会首先检查候选对象的alt属性,但是发现没有等于“Login”的,因为已经被开发人员改为“basic Login”了。因此QTP会忽略这个属性类型,继续应用下一个属性类型。

    2.2、QTP检查每个候选对象的image type属性,把image type不等于Image Button的对象过滤出去。

    2.3、QTP检查候选对象的html id属性,发现所有对象的这个属性的值都是空的。

    2.4、QTP检查候选对象的name属性,发现有两个对象(basic login和VIP login)的name属性都等于“login”,因此QTP把其它的对象过滤掉,剩下这两个对象。

    2.5、QTP再检查剩下两个对象的file name属性,发现只有一个是等于“login.gif”,因此QTP就此结束智能识别过程,推断出这个对象是它要找的Login对象并且点击它。



    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Testing_is_ ... /02/01/5277890.aspx
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-7 15:29 , Processed in 0.063695 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表