51Testing软件测试论坛

标题: 页面有多层导致描述性编辑不能唯一定位对象怎么办? [打印本页]

作者: berrycll    时间: 2014-10-23 15:15
标题: 页面有多层导致描述性编辑不能唯一定位对象怎么办?
如图: 员工角色管理  点“ 新增”  弹出 “成员管理”对话框,成员管理又点“增加”按钮,弹出组成员增加对话框

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

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

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


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


苦恼,求高手指点




作者: berrycll    时间: 2014-10-23 15:20
求助啊~~~
作者: berrycll    时间: 2014-10-23 15:25
求助,求高人指点
作者: xiongyijz    时间: 2014-10-23 16:33
描述属性里通过加索引的方式看看能不能解决
作者: berrycll    时间: 2014-10-23 16:51
xiongyijz 发表于 2014-10-23 16:33
描述属性里通过加索引的方式看看能不能解决

谢谢~~我试试
作者: 赵佳乐SMILE    时间: 2014-10-23 16:54
增加描述的属性 应该能定位到吧
作者: 赵佳乐SMILE    时间: 2014-10-23 16:54
具体的 你得看查看源文件 看看有什么区别
作者: berrycll    时间: 2014-10-23 17:10
赵佳乐SMILE 发表于 2014-10-23 16:54
增加描述的属性 应该能定位到吧

这个webtable的text,innertext等属性不是固定的,所以我不能用这些属性来定位,而其它固定的属性,几个webtable都一样
作者: berrycll    时间: 2014-10-23 17:20
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之类的
作者: xiongyijz    时间: 2014-10-24 10:12
berrycll 发表于 2014-10-23 17:20
Set all_table=description.Create()
all_table("micclass").Value="WebTable"
all_table("visible").V ...

是的,现在解决了吗?
作者: berrycll    时间: 2014-10-24 11:36
xiongyijz 发表于 2014-10-24 10:12
是的,现在解决了吗?

他这个index好像是按照在对象在程序中出现的顺序来算的,所以也不是固定的啊,问题还是没有解决哦。。
那个弹层好麻烦
作者: 赵佳乐SMILE    时间: 2014-10-24 11:43
是在不行 用dom吧
作者: berrycll    时间: 2014-10-24 15:07
赵佳乐SMILE 发表于 2014-10-24 11:43
是在不行 用dom吧

额,那我去学习下吧,还没了解过的~~
作者: ermine    时间: 2014-10-26 15:33
即便是三个“下一页”的属性一模一样,但是肯定在不同的DIV下面的,所以你可以根据DOM结构,获取不同DIV下面的“下一页”按钮。
两个办法:
1. 设置特殊DIV为父对象,然后用Browser().Page().WebElement(父对象).WebButton()
2. 用XPath

作者: joykao    时间: 2014-10-27 10:33
用location啊
作者: berrycll    时间: 2014-10-28 17:08
感谢大家,可以用DOM解决。。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2