51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1998|回复: 3
打印 上一主题 下一主题

[原创] 各对象的识别属性

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-2-3 09:37:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家新年好!
目前遇到一个对象识别所需要的属性范围问题。比如有些对象用html id属性就可以唯一识别到,可是有些对象就没有html id属性,这样子就必须用其它的属性来识别,
可能有的用一个属性就可以识别到,有些就必须要用多个结合起来识别!
我想问一下大家,根据大家的经验来看,哪些属性是最常用于识别对象的?
谢谢大家分享自己的经验!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-2-3 10:07:24 | 只看该作者
1.有的属性可以用于QTP的对象识别,有些是不可以的,具体参考对应对象的帮助。
2.我通常用的是html id、name、class、innertext、value,当然根据对象识别属性的不同有所取舍。
3.每个对象其实都对应html的一个元素,html是一种结构化文档,也就是说即使对象属性相同,路径也会不同。这样可以通过childobjects一层层的找到你要的对象。
4.如果路径和对象属性完全相同,只能通过index来区别了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-2-3 10:42:56 | 只看该作者
谢谢asoqa提供的信息。
其实我们是在解析QTP对象库导出的xml中遇到这个问题的。如果纯粹用QTP的提供的基本属性来识别,就会出现部分对象中所提供的基本属性是不够的,但如果有加上smart属性来识别,又显得多了,识别对象的速度又变慢,有时候属性多了,在描述性编程中反而变成识别不到对象。
这是个很头痛的问题。目前似乎无法找到一个合理的范围来限制属性的个数。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-2-3 11:17:26 | 只看该作者
确实如你所说,对象识别时的属性相对灵活,如果一定要圈定一些属性来识别,会发现非常困难。有的类型比较容易,例如Browser、Page对象可以通过title和creationtime就能识别;有的类型就很困难,例如WebTable、WebElement,一个页面上会有很多WebTable,而一般的开发代码很少在table标签加上可供识别的属性,导致最后只能根据index识别;而WebElement是一种通用对象,可能对应DIV,可能对应SPAN,可能对应TR等等,这些html 元素本身的属性就是有区别的,因此也很难统一用一套属性识别。
  如果要达到你想要的效果,最好是能保证你测试的应用代码有规范完善的命名规则,这样可以通过id,name这些通用的属性识别,这是需要开发配合的。
  不知道大家有没有别的好主意。

[ 本帖最后由 asoqa 于 2009-2-3 11:24 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 15:02 , Processed in 0.064056 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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