51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3086|回复: 9
打印 上一主题 下一主题

[求助] 如果取得一个变化的对象的属性值?(我以51testing为例)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-20 11:02:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在51testing网页上面有这样的一个link: "菜鸟也能煮酒论英雄"。 我想取这个link的text属性, 如下脚本可以取得
MsgBox (Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("菜鸟也能煮酒论英雄").GetTOProperty("text"))

问题: 如果这个link的名字将来变化了,我不想修改脚本,就可以取到他的text值, 这样可以做到吗? 该如何做呢?
我在里面直接利用通配符运行不过去。  
MsgBox (Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link(".........").GetTOProperty("text"))

(项目背景:有这样的想实现这样的一个功能, 创建一个新的记录, 这条记录的id是自动产生的, 我想取到每个新增加的记录的ID, 请高手帮忙看看, 谢谢)

Add: 多谢大家, 我来试一试。 请问4楼。 在用正则表达式匹配的时候, 是不是需要用+链接符合:
例如:需要匹配584241
[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9] 这样对吗? 还是?
[0-9]&[0-9]&[0-9]&[0-9]&[0-9]&[0-9]
[0-9][0-9][0-9][0-9][0-9][0-9]

[ 本帖最后由 keynes_2005 于 2007-9-21 16:37 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-9-20 11:29:26 | 只看该作者
把link用其他的属性识别,别用text,然后取getroproperty
至于你的实际项目,如果是网页的,应该会有webtable,用webtable 的getcelldata比较合适。

[ 本帖最后由 jackymail 于 2007-9-20 11:33 编辑 ]
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-9-20 12:09:42 | 只看该作者
    (Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link(".........").GetTOProperty("text"))

    spy一下link的属性,应该会有一个不变的属性,用它来描述
    如link("id:=不变的值")

    GetTOProperty不是这样用的
    它返回的是录制过程中,存入到对象库中相应属性的值
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2007-9-20 12:24:05 | 只看该作者
    3楼说的没错的
    (Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("某个属性:=固定的值或可以用正则表达式区分的值").GetROProperty("某个属性"))

    我这里有个循环输出符合某个条件的Link的URL的例子,楼主可以参考下
    For iCount = 0 to curLinkNum - 1
                    curLinkName = Browser(":=").Page(":=").Link("url:=http://bbs\.51testing\.com/redirect\.php\?goto=findpost&pid=[0-9]+&ptid=[0-9]+","index:=" & iCount).GetROProperty("url")
                    text.WriteLine curLinkName
            Next
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-9-20 12:33:33 | 只看该作者
    如果index能取到或者有顺序。楼主估计就不用出来问了。

    原帖由 hsjzfling 于 2007-9-20 12:24 发表
    3楼说的没错的
    (Browser("51Testing软件测试论坛 测试 | 软件测试").Page("51Testing软件测试论坛 测试 | 软件测试").Link("某个属性:=固定的值或可以用正则表达式区分的值").GetROProperty("某个属性"))

    我 ...

    [ 本帖最后由 jackymail 于 2007-9-20 12:38 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-9-20 13:02:18 | 只看该作者
    5楼可能没太理解我的例子,我的例子目的是要获取url值符合正则表达式中条件的Page中所有的Link的url值,这个index是对于符合条件的Link编的号,而不是对于所有的Link,如果符合条件的只有一个Link,那么index可以省略或者值为0。
    当然对于具体的实例如果方便使用ChildObjects那效率会更高。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2007-9-21 10:57:25 | 只看该作者
    多谢大家, 我来试一试。 请问4楼。 在用正则表达式匹配的时候, 是不是需要用+链接符合:
    例如:需要匹配584241
    [0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9] 这样对吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-9-25 13:10:53 | 只看该作者

    回复 #7 keynes_2005 的帖子

    建议楼主看看帮助文档吧,在Index中输入关键字"regular expressions"进行查询。
    "+"在正则表达式中是有特殊意义的。这里去掉+就可以了匹配了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-9-25 17:57:03 | 只看该作者
    你是不是搞错了,应该是GetROProperty
    我同意3楼,用描述性语言应该可以解决这个问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2007-9-26 10:27:09 | 只看该作者
    谢谢大家了, 问题解决了。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 10:00 , Processed in 0.074281 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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