51Testing软件测试论坛

标题: 三个属性相同的对象,如何区分? [打印本页]

作者: 开朗幽默    时间: 2012-2-21 16:58
标题: 三个属性相同的对象,如何区分?
[attach]77703[/attach]如图,“密码不能为空”有三个,我要如何区分这三个对象呢?
使用正则表达式Browser("管理中心").Page("管理中心").Frame("frame_content").WebElement("html id:="&"RfvOldPwd","index:="&"0"),应该是第一个“密码不能为空”吧,但实际上后边两个也可被识别到,晕。。。。请高手指点
作者: webjj    时间: 2012-2-21 18:03
设置参数,参数化后,就可以啦,而且这Jqurey有问题吧
作者: 开朗幽默    时间: 2012-2-22 09:24
怎么设置?
作者: yyc2164708    时间: 2012-2-22 10:49
DOM  试下呢
作者: 开朗幽默    时间: 2012-2-22 10:53
回复 4# yyc2164708


    呃。。。。不会诶,请指点
作者: yyc2164708    时间: 2012-2-22 15:02
可以把3个密码输入框外面的那个大框看做父对象
然后获取文本框子对象,长度应该是3
然后循环遍历每一个输入框输入内容
作者: 17800455    时间: 2012-2-22 19:06
为每个文本框,建立索引。用索引去区别。
作者: Shawn_xiao    时间: 2012-2-22 21:41
我只会WebTable。。。
作者: 开朗幽默    时间: 2012-2-23 10:29
回复 7# 17800455


    怎么建立索引?
作者: 开朗幽默    时间: 2012-2-23 16:16
set WebElement=Browser("业务管理中心").Page("业务管理中心").Frame("frame_content").WebTable("密码修改").ChildItem(2,2,"WebElement",1)
我这样来建立索引,怎么不对呢,提示General run error.
作者: 今天有雾    时间: 2012-2-24 14:28
请尝试使用description对像,或是ChildObjects对像
作者: 026300    时间: 2012-2-27 10:06
楼上正解
作者: yyc2164708    时间: 2012-3-15 08:17
回复 12# 026300


    楼上楼上正解
作者: lujian2036    时间: 2012-3-17 12:29
请尝试使用description对像,或是ChildObjects对像
今天有雾 发表于 2012-2-24 14:28



可以使用childobjects判断当前存在几个“密码不能为空”的WebElement
这里看你使用了index来判断,由于三个控件属性相同,就是说即使新密码及原始密码后面出现了“密码不能为空”,第三个也仍然会被识别,因为它的确是第一个满足你所描述的条件的WebElement,所以使用index是不能判断到底是哪个控件出现了
如果你的页面如你的截图,总共9个WebElement,可以先使用childobjects,判断存在几个“密码不能为空”,如果是3个 那就全部存在,如果是2个,使用
WebElement("index:=3")获取第四个
WebElement的text是否为”新 密 码“,如果是,那第一个“密码不能为空”就存在,然后判断第6个
WebElement的text是否为“确认密码”,就知道第二个“密码不能为空”是否存在
作者: 正在更新    时间: 2012-3-17 13:33
使用description对像获取父窗口下符合description对像描述条件的ChildObjects对像 使用循环语句逐个操作
作者: da乐    时间: 2012-3-20 15:52
添加对象,在对象中设置Y坐标
呵呵 很简单的事情
作者: lifr    时间: 2012-3-21 21:47
试试这个函数

  1. ' find all elements with given innertext.
  2. '
  3. ' @param strText innertext
  4. ' @param strTag element tag, such as SPAN
  5. ' @return array of items. Empty Array if nothing found
  6. Function GUI_Html_FindElementAll(objContainer, strText, strTag)

  7.     Set desc = Description.Create()
  8.     desc("innertext").Value = strText
  9.     desc("innertext").RegularExpression = False
  10.     desc("html tag").Value = UCase(strTag)
  11.     desc("html tag").RegularExpression = False

  12.     desc("visible").Value = True
  13.     desc("micclass").Value = "WebElement"

  14.     Set cl = objContainer.ChildObjects(desc)
  15.     Set desc = Nothing

  16.     ReDim retAry(cl.count -1)
  17.     For idx=0 To cl.count -1
  18.         Set retAry(idx) = cl(idx)
  19.     Next

  20.     GUI_Html_FindElementAll = retAry
  21. End Function
复制代码





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