51Testing软件测试论坛

标题: 请教问题,如何根据已知的WebRadioGroup的name得到各个Radio的描述文本 [打印本页]

作者: collie    时间: 2007-4-6 14:44
标题: 请教问题,如何根据已知的WebRadioGroup的name得到各个Radio的描述文本
用.webRadioGroup("name:=名字").GetROProperty("Items Count")可以得到一共有多少个Radio。每个Radio后面都有个Lable显示文本,在HTML中这些Lable还都用For属性和前面的Radio建立了关联。但是QTP里面.webElement("For:=XXXX")似乎不被识别。不知有什么办法能得到后面Lable中的描述文本?请教    IE6,XP
作者: xiaonan    时间: 2007-4-6 15:19
想得到描述名,就去取相应的属性名啊
作者: collie    时间: 2007-4-6 15:57
.webRadioGroup("name:=名字")返回的是RadioGroup,怎么取里面的Radio的描述文字呢?
.webRadioGroup("name:=名字").GetROProperty("Items")得到的内容为空
.webRadioGroup("name:=名字").GetROProperty("Names")得到的内容为空
.webRadioGroup("name:=名字").GetROProperty("Texts")得到的内容为空
.webRadioGroup("name:=名字").GetROProperty("Captions")得到的内容为空
.webRadioGroup("name:=名字").GetROProperty("all")得到的内容为空

如果返回的是数组,是不是应该会得到数据?
如果返回的是object,那怎样使用呢?.webRadioGroup("name:=名字").GetROProperty("items").text提示Object required.
如果返回的是object数组,那又怎样使用呢?.webRadioGroup("name:=名字").GetROProperty("items")(0).text提示Type miismatch.

天啊,哪位老大来帮帮我?我只想知道怎么得到Radio后面的文字而已。
作者: htot05    时间: 2007-4-6 16:17
用ChildItem这个方法试试,看能取到不?sdlkfj2
作者: collie    时间: 2007-4-6 16:23
谢谢楼上的

如果直接用.webRadioGroup("name:=名字").GetROProperty("childitem")得到为空
.webRadioGroup("name:=名字").GetROProperty("childitem").text 提示Object required

看来还是不行,我继续尝试

因为对应的有多个radio,应该会涉及到数组相关的内容,有没有哪位大哥想到了与这个相关的东西?

谢谢阿
作者: htot05    时间: 2007-4-6 16:28
你用错了,不是那么用的,呵呵,好好看看帮助文件
object.ChildItemCount (Row, Column, MicClass)
sdlkfj2
作者: htot05    时间: 2007-4-6 16:33
不好意思啊,我也弄错了,在WebRadioGroup里只有ChildObjects这个方法,试试这个吧
object.ChildObjects (pDescription)
作者: 迷雾精灵    时间: 2007-4-6 16:37
得到count数,用 value 属性值试试
作者: collie    时间: 2007-4-6 16:38
这个不是Webtable的方法吗?楼上的意思是不是找到它上一级的webtable,然后下来找里面的内容?
怎么找到它上一级的webtable呢?没有ParentItem啊
作者: collie    时间: 2007-4-6 16:40
Value得到的是表单提交的数据,不是后面的文字
作者: 迷雾精灵    时间: 2007-4-6 16:52
"想得到描述名,就去取相应的属性名啊"

WebRadioGroup  的属性中有value 的
作者: 迷雾精灵    时间: 2007-4-6 16:54
sdlkfj4  不大明白你要取的是什么?不过你可以去看看WebRadioGroup  Properties   .看看你要取的到底是什么?
作者: collie    时间: 2007-4-6 16:56
.webRadioGroup("name:=名字").ChildObjects().count返回0

郁闷了。。。明明6个Radio
作者: collie    时间: 2007-4-6 16:59
标题: 回复 #12 迷雾精灵 的帖子
我能在QTP帮助里面找到WebRadioGroup Object,里面只有最常用的那些方法和2个属性:Exist,Object。不知道你说的Properties在哪里可以看到?有没有这样的资料可以查啊,比如web各种元素各有哪些方法和属性?
作者: htot05    时间: 2007-4-6 17:00
我觉得你写的有问题,你应该先用Spy抓一下那个lable看看它的name属性,然后应该就能操作了
webRadioGroup("name:=名字").ChildObjects("name:=那个lable的name").......
作者: 迷雾精灵    时间: 2007-4-6 17:01
看看WebRadioGroup Identification Properties
用GetROProperty 取 items count不可以吗?

[ 本帖最后由 迷雾精灵 于 2007-4-6 17:03 编辑 ]
作者: htot05    时间: 2007-4-6 17:02
最好弄明白那个网页的结构,到底是怎么做的,是frame套table,然后是radiogroup下的lable吗
作者: collie    时间: 2007-4-6 17:04
标题: 回复 #15 htot05 的帖子
抓了看过了,那个label是附属于radio的,没有name属性,只有一个For属性是指向某一个Radio的,而这个For属性在RO时是读取不到的,所以我定位不了这个lable的数据。

谢谢
作者: 迷雾精灵    时间: 2007-4-6 17:10
能把图贴上来吗?
作者: collie    时间: 2007-4-6 17:13
标题: 回复 #16 迷雾精灵 的帖子
用items count可以得到正确的数据,用all items也可以得到各个radio的value。这已经进了很大一步了。谢谢大家!!!

但是我最终想要的是这些radio的描述文本,还没有得到,正在研究WebRadioGroup Identification Properties 中
作者: htot05    时间: 2007-4-6 17:22
我能访问那个网页吗?能的话发给看看行吗?
作者: collie    时间: 2007-4-6 17:30
你访问不了,在内部测试中,我也进不了服务器。是黑盒测试。
作者: collie    时间: 2007-4-6 17:38
是一组audio,每一个后面都有一个Lable,Lable上有信息。我就需要得到这个信息。

但是Lable在HTML看来只有一个For属性值等于某一个audio的id。
如:<input id="ID1" type="radio" name="名字"/><label for="ID1">信息1</Label>
<input id="ID2" type="radio" name="名字"/><label for="ID2">信息2</Label>
<input id="ID3" type="radio" name="名字"/><label for="ID3">信息3</Label>

而在QTP中根据name=名字等得到的audiogroup的ID属性值为空。那个label用webelement取for属性也是空。我怎么能得到信息1、信息2、信息3呢?

这样写出来应该容易看懂了。
补充一句,已知“名字”。

[ 本帖最后由 collie 于 2007-4-6 17:40 编辑 ]
作者: yhzmw    时间: 2007-4-9 16:17
其实很简单的。今天要下班了,明天过来如果有时间告诉你怎么弄的
作者: mstiunicon    时间: 2007-4-9 18:18
关注ing




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