51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2661|回复: 12
打印 上一主题 下一主题

[原创] 笨鸟求助:使用描述性编程,总是报错:对象不支持该属性或方法。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-4-20 13:52:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于网页上显示的用户名总是变化的,所以我想通过描述性编程的方法找到页面上固定位置的对象。
但运行时总报错:对象不支持该属性或方法。"Browser(...).Page(...).WebElement

测试程序如下:
set Desc = Description.creat()
Desc("x").value=28
Desc("y").value=230
Desc("width").value=708
Browser("交流中心")Page("交流中心").WebElement(Desc)


用object spy 查看过对象,确实显示类型为 webElement。
什么问题,我该怎么办
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-4-20 16:14:00 | 只看该作者
本帖最后由 cellule 于 2012-4-20 16:19 编辑

Browser("交流中心")Page("交流中心").WebElement(Desc)

你复制过来的时候少个点?还是本来就没?

你这个用户名没有别的唯一属性吗?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    擦汗
    2016-5-4 10:34
  • 签到天数: 68 天

    连续签到: 1 天

    [LV.6]测试旅长

    3#
    发表于 2012-4-20 22:26:44 | 只看该作者
    用description描述 最好用class,title,name,innertext等进行描述,用x,y很不稳定的,如果这个对象是在table或者frame中最好定位精确点.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-4-22 11:42:05 | 只看该作者
    同意Shawn_xiao的观点,少用位坐标来确定对象,多用name等属性。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-4-23 14:07:39 | 只看该作者
    本帖最后由 caohx 于 2012-4-23 14:08 编辑

    因为控件位置是固定的,而其上的内容是变化的,所以才使用了坐标描述对象。
    由于网页上显示的用户名总是变化的,所以我想通过描述性编程的方法找到页面上固定位置的对象。
    但运行时总报错:对象不支持该属性或方法。"Browser(...).Page(...).WebElement

    测试程序如下:
    set Desc = Description.creat()
    Desc("x").value=28
    Desc("y").value=230
    Desc("width").value=708
    set obj=Browser("交流中心")Page("交流中心").ChildObject(Desc)
    obj.GetRoProperty("innertext")   //这一步报错,说补支持该属性和方法 为啥不支持啊?

    调试中试图在bubug view窗口中产看对象obj的属性,但更本就没有列出属性,咋办啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2012-4-23 14:46:58 | 只看该作者
    二楼已经提示过了.你Browser("交流中心")Page("交流中心").ChildObject(Desc)这里缺个点.Browser和Page中间.试试看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2012-4-24 12:28:15 | 只看该作者
    to 2楼、6楼。我的程序里没有少点。
    那个点是我写帖子时漏掉的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2012-4-24 13:50:52 | 只看该作者
    to 2楼、6楼。我的程序里没有少点。
    那个点是我写帖子时漏掉的。
    caohx 发表于 2012-4-24 12:28



        obj.GetRoProperty("innertext")   在这步之前你找出来的obj对象肯定是不存在的,你可以debug看一下啊。既然这个对象都不存在,怎么能够使用GetRoProperty("innertext") 这个方法呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2012-4-24 13:52:50 | 只看该作者
    因为控件位置是固定的,而其上的内容是变化的,所以才使用了坐标描述对象。
    由于网页上显示的用户名总是变 ...
    caohx 发表于 2012-4-23 14:07



        我不相信这个控件会连class这个属性都没有,还有至少还有html tag这个属性也该是固定的吧。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2012-4-24 14:32:20 | 只看该作者
    实在不行你用Index属性定位该控件
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    11#
    发表于 2012-4-24 16:02:36 | 只看该作者
    create
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-4-26 13:07:29 | 只看该作者
    呵呵,都没说道电子上,应该是Desc("abs_x").value=28
    Desc("abs_x").value=29吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2012-4-26 13:42:53 | 只看该作者
    回复 12# csj
    我表示我也错了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-16 06:54 , Processed in 0.082339 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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