51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2138|回复: 11
打印 上一主题 下一主题

[求助] 请教一个WebEdit中 html Id 在描述编程的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-4-27 17:19:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在描述性编程中,有一个对象是WebEdit,然后只能以html id最为唯一区分标示,但是在对象侦测器中发现 属性是 "$5c190e3a$UserCode"如果以这个作为标记是无法回放成功的,提示找不到对象 Browser("xx").Page("xx").WebEdit("html id:=$5c190e3a$UserCode").Set "abc" 请问下该如何处理这个属性


本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2016-4-28 10:02:45 | 只看该作者
没有那个同学知道如何处理吗?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2016-8-21 01:09
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    3#
    发表于 2016-4-28 11:14:17 | 只看该作者
    这个问题,你最好跟开发者确认下那个ID没有变化,因为网页的ID并不是一直不变的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 13:04
  • 签到天数: 2817 天

    连续签到: 5 天

    [LV.Master]测试大本营

    4#
    发表于 2016-4-28 14:45:02 | 只看该作者
    使用其它方式察看id是多少
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2016-4-28 15:29:01 | 只看该作者
    jingzizx 发表于 2016-4-28 14:45
    使用其它方式察看id是多少

    其他啥子方法?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2016-4-28 15:40:18 | 只看该作者
    用QTP的spy查看这个元素的其他属性,不一定要用这个属性,只要其他多个属性能唯一确定这个元素即可,属性越多越准确,主要看你自己如何选取属性了,描述性编程属性与属性之间用分号隔开

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2016-4-28 16:31:53 | 只看该作者
    kexinqw11 发表于 2016-4-28 15:40
    用QTP的spy查看这个元素的其他属性,不一定要用这个属性,只要其他多个属性能唯一确定这个元素即可,属性越 ...

    我测试过如果使用 WebEdit("abs_x:="&Menu_abs_x1,"abs_y:="&Menu_abs_y1).set "abc" 是可以实现识别的,但是如果由于UI的调整,只是更换了位置没有做其他的调整,代码的维护性就很低了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2016-4-28 17:59:34 | 只看该作者
    木子木子 发表于 2016-4-28 16:31
    我测试过如果使用 WebEdit("abs_x:="&Menu_abs_x1,"abs_y:="&Menu_abs_y1).set "abc" 是可以实现识别的, ...

    你可以尝试用html tag 属性input的值应该是不会变得,总不会把输入框弄成按钮之类的吧;还有height ,编辑框的高度也不应该会发生变化,因为美观问题,编辑框高度应该保持一致,另外楼主可以尝试用下其他属性比如html class等
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2016-4-29 14:33:13 | 只看该作者
    继续研究发现,html id 中的$符号是开发专门加入的为了区分内容的标记,如果在IE中把html id修改为不要$符号,后重新把描述编程中调整为 "html id:=f883d135edUserCode" 这时控件的识别操作均无问题,也就是说是qtp 在这里无法识别到$符号,但是如果WebEdit("WebEdit").GetROProperty("html id")后发现这时给出的信息则是完整的 $f883d135$edUserCode,理论上不能识别$应该是在获取的时候也不能有效读取,不知为何这里是在描述的时候不能使用

    既然这样现在有两种方案:
    1、开发把全部的代码做调整(明显不现实)
    2、测试想办法把$替换为系统能识别的字符,但是现在我还暂时没有想到办法,请大家给点意见,毕竟现在已经知道原因了

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2016-4-29 20:14:19 | 只看该作者
    木子木子 发表于 2016-4-29 14:33
    继续研究发现,html id 中的$符号是开发专门加入的为了区分内容的标记,如果在IE中把html id修改为不要$符 ...

    不是不能QTP不能识别吧,这个涉及到正则表达式,楼主的研究精神非常好!楼主可以在特殊字符前面加个转义字符,所以楼主试试  html id:="\$f883d135\$edUserCode"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2016-5-5 11:31:35 | 只看该作者
    kexinqw11 发表于 2016-4-29 20:14
    不是不能QTP不能识别吧,这个涉及到正则表达式,楼主的研究精神非常好!楼主可以在特殊字符前面加个转义 ...

    3q
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2016-5-5 11:31:42 | 只看该作者
    kexinqw11 发表于 2016-4-29 20:14
    不是不能QTP不能识别吧,这个涉及到正则表达式,楼主的研究精神非常好!楼主可以在特殊字符前面加个转义 ...

    3q
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 03:32 , Processed in 0.074602 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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