51Testing软件测试论坛

标题: 动态变化值如何获取 [打印本页]

作者: girl04    时间: 2005-10-26 11:44
标题: 动态变化值如何获取
请帮一下,见图片:

[ Last edited by girl04 on 2005-10-26 at 11:45 ]
作者: girl04    时间: 2005-10-26 12:03
标题: 页面的操作,如下:
请见图片:
作者: girl04    时间: 2005-10-26 12:05
当选择这个圆型按钮时,QTP得出的脚本是:
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").Select "10383"
作者: QA_BAY    时间: 2005-10-26 18:05
先把动态的值取出来,然后再选择就可以了!
VAL=Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").GetROProperty("Value")
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").set val
作者: girl04    时间: 2005-10-27 10:08
但当页面中有多个value值时,各个value值都不同,我想取其中一个时,那应该怎么取呀?如以下原代码中,有三个value值,我想取第二个:
                 <td nowrap>用户帐号列表</td>
                        </tr>
                        
                        
                           
                            <tr height="20" bgcolor="#FFFFFF" class="p1">
                                <td nowrap align="left">
                                    <input type="radio" name="userAccountId_0" DISNAME="用户帐号" value="10405">
                                </td>
                                <td nowrap>
                                <!--用户帐号名称-->
                                     testlds02&nbsp;
                                     <input type="hidden" name="userAccount_0" value="testlds02">
                                </td>
                            </tr>
                           
                           
                            <tr height="20" bgcolor="#FFFFFF" class="p1">
                                <td nowrap align="left">
                                    <input type="radio" name="userAccountId_1" DISNAME="用户帐号" value="10406">
                                </td>
                                <td nowrap>
                                <!--用户帐号名称-->
                                     testlds03&nbsp;
                                     <input type="hidden" name="userAccount_1" value="testlds03">
                                </td>
                            </tr>

注意:这三个值是变化的,都是以value="xxxxx",x为数字

[ Last edited by girl04 on 2005-10-27 at 10:11 ]
作者: alexchang    时间: 2005-11-3 10:09
这是两个问题,Value值的获取是基于控件的,你的radio名称是不同的,对象库中这些值对应于不同的控件, 所以首先做好控件的识别.
作者: fzc777    时间: 2005-11-3 11:20
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame
("managePlace_7").WebRadioGroup("userAccountId_0").set val

********************************************************
我使用的qtp8.2,没有WebRadioGroup("userAccountId_0").set val方法,只有
WebRadioGroup("userAccountId_0").SetTOProperty方法。

应该怎么取这个值,使用那个函数,函数后面的参数应该怎么填写,只写一个val就可以了吗?
作者: fzc777    时间: 2005-11-3 11:54
按照QA_BAY提示
代码如下
Dim Val
Val=Browser("TRS WCM 5.2 Preview").Window("TRS WCM 5.2 Dialog Window").Page("TRS WCM 5.2 Dialog Window").Frame("subWindow_2").WebRadioGroup("TRSTreeNode").GetROProperty("Value")
Browser("TRS WCM 5.2 Preview").Window("TRS WCM 5.2 Dialog Window").Page("TRS WCM 5.2 Dialog Window").Frame("subWindow_2").WebRadioGroup("TRSTreeNode").SetTOProperty Val

回放提示如图错误
这样的到底如何取值和使用?
作者: fzc777    时间: 2005-11-3 11:55
选择的图片
作者: fzc777    时间: 2005-11-3 11:56
选择的图片
作者: QA_BAY    时间: 2005-11-3 16:27
这个要看你回放的时候WebRadioGroup("userAccountId_0").有没有改变.
从Girl04发的网页脚本中看.他说是改变的,
那先用GetROProperty("Value")取值!
这个GIRL04已经检验通过了!

你的问题是 VAL是有值的.但你没有给VAL负值,那他当然会报错啦!
作者: fzc777    时间: 2005-11-3 16:53
不明白,怎么赋值啊,应该怎么写啊?急啊!!!
作者: tonyxu200333    时间: 2005-11-3 17:19
VAL=Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").GetROProperty("Value")

我想问一句,光看这句话,QTP如何知道保存的是userAccountId_0这个radio list里的第几个value?
作者: QA_BAY    时间: 2005-11-3 17:37
userAccountId_0只对应一个值吧.
你值的是userAccountId_0属性里面的其中一项!
作者: tonyxu200333    时间: 2005-11-3 17:43
userAccountId_0应该是radio的name,一个radio里会有多个value,点中一个radio会选中它的value传给后台处理.

难道userAccountId_0里的0是指它的index吗?即选第一个radio的值?
作者: tonyxu200333    时间: 2005-11-3 17:47
QA_BAY
帮我看看这个问题好吗?
http://bbs.51testing.com/viewthread.php?tid=20563
作者: girl04    时间: 2005-11-4 10:33
Originally posted by fzc777 at 2005-11-3 11:54 AM:
按照QA_BAY提示
代码如下
Dim Val
Val=Browser("TRS WCM 5.2 Preview").Window("TRS WCM 5.2 Dialog Window").Page("TRS WCM 5.2 Dialog Window").Frame("subWindow_2&qu ...


_________________________________________
非常感谢OA_BAY和各位的帮助和热心

OA_BAY提出这个思路是正确的:
VAL=Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").GetROProperty("Value")
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").set val
但是以上的代码可能是OA_BAY笔误,有一点小错误,才会出现错误提示。
以上代码应改为:
VAL=Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").GetROProperty("Value")
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").select val

set改为select

[ Last edited by girl04 on 2005-11-4 at 10:35 ]
作者: girl04    时间: 2005-11-4 10:40
但当页面中有多个value值时,各个value值都不同,我想取其中一个时,那应该怎么取呀?如以下原代码中,有三个value值,我想取第二个:
                 <td nowrap>用户帐号列表</td>
                        </tr>
                        
                        
                           
                            <tr height="20" bgcolor="#FFFFFF" class="p1">
                                <td nowrap align="left">
                                    <input type="radio" name="userAccountId_0" DISNAME="用户帐号" value="10405">
                                </td>
                                <td nowrap>
                                <!--用户帐号名称-->
                                     testlds02&nbsp;
                                     <input type="hidden" name="userAccount_0" value="testlds02">
                                </td>
                            </tr>
                           
                           
                            <tr height="20" bgcolor="#FFFFFF" class="p1">
                                <td nowrap align="left">
                                    <input type="radio" name="userAccountId_1" DISNAME="用户帐号" value="10406">
                                </td>
                                <td nowrap>
                                <!--用户帐号名称-->
                                     testlds03&nbsp;
                                     <input type="hidden" name="userAccount_1" value="testlds03">
                                </td>
                            </tr>

注意:这三个值是变化的,都是以value="xxxxx",x为数字
__________________________________________
再次请教OA_BAY和各位:
<input type="hidden" name="userAccount_0" value="testldsXX">
XX代表代码中有多个不同的值。
我要取其中一个值,如testlds03,那该如何做?
请注意:testlds03的对象类型为hidden,即不在页面上显示,得查看源文件才能看到

[ Last edited by girl04 on 2005-11-4 at 10:49 ]
作者: lovetest6    时间: 2005-11-4 10:54
dot net我不大清楚,尽就这个例子而言,首先要知道你打算用什么来选择radio button.

也就是说你打算根据什么来select.

另:testlds03在页面中不是有显示么?为什么还要取hidden中的值呢?hidden中的值我还真不知道怎么取。呵呵。

  1. val=Browser("Browser").Page("New Release").WebRadioGroup("userAccountId_0").GetROProperty("value")

  2. val=Browser("Browser").Page("New Release").WebRadioGroup("index:=0").GetROProperty("value")
复制代码


username可以这样取得
  1. username=Browser("Browser").Page("New Release").WebElement("userAccountId_0").GetROProperty("innertext")
复制代码

[ Last edited by lovetest6 on 2005-11-4 at 11:19 ]
作者: lovetest6    时间: 2005-11-4 10:57
实际上每个object都有很多的属性。比如这个例子,楼主甚至可以先用index取出radio button的某些属性,然后再根据它们来select.当然,直接根据index来select也是可以的。

但是有一点要注意,那就是object必须要在你的OR里面。

在菜单中进入OR选一下你要定位的Object,看到add/remove的按钮了么?
通过它,你可以增加更多的识别属性。

[ Last edited by lovetest6 on 2005-11-4 at 11:23 ]
作者: QA_BAY    时间: 2005-11-4 11:04
Originally posted by lovetest6 at 2005-11-4 10:54 AM:
dot net我不大清楚,尽就这个例子而言,首先要知道你打算用什么来选择radio button.

也就是说你打算根据什么来select.

另:testlds03在页面中不是有显示么?为什么还要取hidden中的值呢?hidden中的值我还 ...

GIRL04你的意思是说那个控件没有显示的是吗?不在网页显示!
如果不在网页显示.那QTP怎么能取得到呢?
我想可不可以调用那个程序或者写脚本进去!
在脚本定义他!
作者: girl04    时间: 2005-11-4 11:18
那个控件,请见本帖的第二张帖的图片。
当选择这个圆型按钮时,QTP得出的脚本是:
Browser("欢迎使用我的工作台").Page("欢迎使用我的工作台").Frame("managePlace_7").WebRadioGroup("userAccountId_0").Select "10383"

但原代码中是:
                            <tr height="20" bgcolor="#FFFFFF" class="p1">
                                <td nowrap align="left">
                                    <input type="radio" name="userAccountId_0" DISNAME="用户帐号" value="10405">
                                </td>
                                <td nowrap>
                                <!--用户帐号名称-->
                                     testlds01&nbsp;
                                     <input type="hidden" name="userAccount_0" value="testlds01">
                                </td>
                            </tr>
作者: girl04    时间: 2005-11-4 11:22
其实我想取<input type="hidden" name="userAccount_0" value="testlds01">
中的testlds01,为了取到它之后,把它删除。之前OA_bay,用那种方法,只能取到这个对象的<input type="radio" name="userAccountId_0" DISNAME="用户帐号" value="10405">的"10405",而这个值是变化的。
作者: girl04    时间: 2005-11-4 11:26
Originally posted by lovetest6 at 2005-11-4 10:54 AM:
dot net我不大清楚,尽就这个例子而言,首先要知道你打算用什么来选择radio button.

也就是说你打算根据什么来select.

另:testlds03在页面中不是有显示么?为什么还要取hidden中的值呢?hidden中的值我还真 ...

____________________________________
lovetest6,解决一下你这两段代码好吗?
特别是index:=0,我想很多QTP的朋友都想知道。
谢谢了!
作者: lovetest6    时间: 2005-11-4 11:29
看目前的代码testlds01是显示出来的啊,而且和hidden中的一样哦,呵呵。

楼主的思维很巧哦,呵呵,“取到它,再把它删除”,够狠:)

按照我的理解,楼主应该是进入这个页面之前,先添加了N多用户。
然后进入这个页面,打算把某些个不顺眼的username删除掉,呵呵:)
那么,这些username是你事先就知道的啊,直接找找,删了不就完了么。呵呵
作者: lovetest6    时间: 2005-11-4 11:31
Originally posted by girl04 at 2005-11-4 11:26 AM:

____________________________________
lovetest6,解决一下你这两段代码好吗?
特别是index:=0,我想很多QTP的朋友都想知道。
谢谢了!


解释一下对吧?
不是解决哦,呵呵。
index就是index属性,根据index属性来定位你要操作的对象。
具体还有很多属性。我想你自己看一下help中的object model比较好。
作者: fzc777    时间: 2005-11-4 11:41
非常感谢girl04 和 QA_BAY,问题解决了,把set改成select就可以了,谢谢大家。以后多交流啊!
作者: tonyxu200333    时间: 2005-11-4 11:51
其实我想取<input type="hidden" name="userAccount_0" value="testlds01">
中的testlds01,为了取到它之后,把它删除。之前OA_bay,用那种方法,只能取到这个对象的<input type="radio" name="userAccountId_0" DISNAME="用户帐号" value="10405">的"10405",而这个值是变化的。

LZ和我的问题蛮相似的,你是不是只能取radio第一行里的value?而不是你想要取的那一行啊,看看我的问题http://bbs.51testing.com/viewthread.php?tid=20563
作者: lovedemon    时间: 2005-11-4 13:50
关注这个帖子
作者: shengyan    时间: 2005-11-12 08:19
死盯着这个贴子~~~~~~~~~~~~~~~~``
作者: Zee    时间: 2005-11-26 14:59
学习了。
作者: mailtolily    时间: 2007-3-16 15:10
up
作者: allva    时间: 2007-8-27 15:50
值得学习
作者: xuyubo    时间: 2009-7-23 17:37
解决我心头病了啊,
作者: marco    时间: 2009-7-23 18:14
帮助啊帮助,为什么就没人看帮助呢
Description
Selects the specified radio button from the radio group, replacing the previous selection.
Syntax
object.Select Value

Syntax Details
Argument Description
object A test object of type WebRadioGroup.
Value Required. A String value. The value to select. The value can either be one of the items in the list or an index. To specify the index of the item to select, use "#index". Index values begin with 0.

注意最后两句话




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