51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3052|回复: 15
打印 上一主题 下一主题

[转贴] 页面有多层导致描述性编辑不能唯一定位对象怎么办?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-10-23 15:15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图: 员工角色管理  点“ 新增”  弹出 “成员管理”对话框,成员管理又点“增加”按钮,弹出组成员增加对话框

需要进行的操作:在“组成员增加”对话框里里找到员工编号为121的并勾选后确定

存在以下问题,
1、我描述性编程获取所有webtable时,有六个webtable,完全不能定位到组成员增加这个对话框里的webtable

我用笨办法,一个个输出属性值倒可以找到成员增加这个对话框里的webtable,但是,我需要把这个实现写成函数,如果是这种定位方式,统一性不好啊


2、我要实现点击“下一页”按钮的功能,但是三个对话框里都有下一页按钮:WebButton("Class Name:=WebButton","html tag:=BUTTON","innertext:=下一页","visible:=True") 用这种 方式可以找到3个下一页按钮


苦恼,求高手指点



本帖子中包含更多资源

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

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

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2014-10-23 15:25:15 | 只看该作者
求助,求高人指点
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2014-10-23 16:33:35 | 只看该作者
描述属性里通过加索引的方式看看能不能解决
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2014-10-23 16:51:44 | 只看该作者
xiongyijz 发表于 2014-10-23 16:33
描述属性里通过加索引的方式看看能不能解决

谢谢~~我试试
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2014-10-23 16:54:15 | 只看该作者
    增加描述的属性 应该能定位到吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    7#
    发表于 2014-10-23 16:54:49 | 只看该作者
    具体的 你得看查看源文件 看看有什么区别
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2014-10-23 17:10:47 | 只看该作者
    赵佳乐SMILE 发表于 2014-10-23 16:54
    增加描述的属性 应该能定位到吧

    这个webtable的text,innertext等属性不是固定的,所以我不能用这些属性来定位,而其它固定的属性,几个webtable都一样
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2014-10-23 17:20:47 | 只看该作者
    xiongyijz 发表于 2014-10-23 16:33
    描述属性里通过加索引的方式看看能不能解决

    Set all_table=description.Create()
    all_table("micclass").Value="WebTable"
    all_table("visible").Value=True
    set all_tables=currentFrame.ChildObjects(all_table)
    number=all_tables.count()
    msgbox number
    For Iterator = 0 To number-1
    msgbox all_tables(Iterator).GetROProperty("innertext")
    Next

    ~~~~~~~~~~~~~~~~~~~~~·
    请问,加索引是我上面代码那种方式用么,通过打印发现的最上面一个对话框webtable的不是第一个也不是最后一个而是在中间,因为我要写成函数的,所以这里我不能写死啊,如Index=3之类的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2014-10-24 10:12:13 | 只看该作者
    berrycll 发表于 2014-10-23 17:20
    Set all_table=description.Create()
    all_table("micclass").Value="WebTable"
    all_table("visible").V ...

    是的,现在解决了吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2014-10-24 11:36:39 | 只看该作者
    xiongyijz 发表于 2014-10-24 10:12
    是的,现在解决了吗?

    他这个index好像是按照在对象在程序中出现的顺序来算的,所以也不是固定的啊,问题还是没有解决哦。。
    那个弹层好麻烦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    12#
    发表于 2014-10-24 11:43:48 | 只看该作者
    是在不行 用dom吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
     楼主| 发表于 2014-10-24 15:07:26 | 只看该作者

    额,那我去学习下吧,还没了解过的~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2014-10-26 15:33:26 | 只看该作者
    即便是三个“下一页”的属性一模一样,但是肯定在不同的DIV下面的,所以你可以根据DOM结构,获取不同DIV下面的“下一页”按钮。
    两个办法:
    1. 设置特殊DIV为父对象,然后用Browser().Page().WebElement(父对象).WebButton()
    2. 用XPath
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    15#
    发表于 2014-10-27 10:33:09 | 只看该作者
    用location啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2014-10-28 17:08:40 | 只看该作者
    感谢大家,可以用DOM解决。。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-27 10:57 , Processed in 0.073006 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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