51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2693|回复: 6
打印 上一主题 下一主题

[原创] 使用Description.Create()出现的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-12-28 10:47:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我通过Description.Create()来识别对象,代码如下:
Set myDescription = Description.Create()
myDescription("micclass").Value = "WebEdit"   
set Lists = Browser("title:=ServiceUi").Page("title:=ServiceUi").Frame("html id:=outputView").ChildObjects(myDescription)
希望通过WebEdit的属性来获得所有WebEdit,首先我先去要识别的对象所在的页面获得识别对象的所有属性,如截图,但是发现有些属性能够识别对象,比如
myDescription("name").Value = "WebEdit"   
而有些就不能,比如Class Name,我使用myDescription("Class Name").Value = "WebEdit"  就不能识别,可是Class Name属性在该对象的属性里明明有啊,这是为什么?我在通过name识别了该对象后通过Lists(i).GetROProperty("Class Name")显示Class Name为空值。而且在使用过程中发现一个奇怪的问题,就是我昨天晚上在使用myDescription("micclass").Value = "WebEdit"   时,会识别出很多对象,有些并不是WebEdit,而且把这句话注释掉后直接使用如下代码还是可以,非常奇怪,但是今天再试就可以唯一识别WebEdit对象了,不知道别人有没有遇到过类似问题,还是我的QTP版本有问题,我使用的是QTP9.2
Set myDescription = Description.Create()
'myDescription("micclass").Value = "WebEdit"   
set Lists = Browser("title:=ServiceUi").Page("title:=ServiceUi").Frame("html id:=outputView").ChildObjects(myDescription)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-12-28 15:32:40 | 只看该作者
本帖最后由 my_way 于 2010-12-28 15:34 编辑

其实没必要每次都通过ChildObjects来获取页面或者frame下面的所有子对象,再筛选要用的对象。
你也说过了可以通过myDescription("name").Value = "WebEdit"   来识别该对象,就说明name这个属性是唯一标识改对象的属性之一(唯一标识对象的属性有可能是多个)。那么就可以通过:
Set myDescription = Description.Create()
myDescription("name").Value = "WebEdit"  
Set obj_webedit = Browser("title:=ServiceUi").Page("title:=ServiceUi").Frame("html id:=outputView").WebEdit(myDescription)
obj_webedit.Set 123

其实也不用这么复杂,更简单的就这样:
Browser("title:=ServiceUi").Page("title:=ServiceUi").Frame("html id:=outputView").WebEdit(“name:=WebEdit”).Set 123

至于你说的,myDescription("Class Name").Value = "WebEdit"  不能识别,很有可能该frame下Class Name为WebEdit的对象不止一个。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-12-28 16:09:20 | 只看该作者
本帖最后由 skyzhu 于 2010-12-28 16:11 编辑

Description 是没有 Class Name的,需要用micclass
具体的东西在注册表能看到一些,暂时说不太明白

可以参考
http://blog.csdn.net/zzxxbb112/archive/2010/03/17/5389043.aspx
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-12-28 16:30:17 | 只看该作者
就是micclass
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-12-28 16:32:17 | 只看该作者
就是micclass
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-12-28 16:59:45 | 只看该作者
我明白了,谢谢skyzhu 提供的文章!
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2015-9-10 15:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2010-12-28 17:41:34 | 只看该作者
    回复 3# skyzhu


    那为什么 找的是 micclass
    不是别的?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 22:11 , Processed in 0.081292 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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