51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5005|回复: 8
打印 上一主题 下一主题

[Robot] 如何让combox自动选取它的子项

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-9-2 13:07:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个Web页面,想让robot自动选择combox里的子项,如图1。
是否是用SQASetProperty,如何使用?

我用Object Property抓取combox的属性,只有innerText, name, tagName, type之类的。它的Baseline里写的是innerText=Please select a value; name=subClassId; tagName=SELECT; type=select-one。但是它在脚本里的语句是Result = ComboBoxVP (CompareProperties, "Type=ComboBox;Name=subClassId", "VP=Object Properties")
所以我用的语法是这样的Result=SQASetProperty ("\;Type=ComboBox;Name=subClassId","innerText","Part"),希望让combox自动选择Part这个子项。但是调试的结果Result的返回值是1003,也就是它找不到这个object。我的语句是否有问题。

本帖子中包含更多资源

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

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

该用户从未签到

2#
 楼主| 发表于 2004-9-2 13:07:53 | 只看该作者
当我抓取windows应用程序的combox时,如图2。
用Object Property可以抓出ItemDat, ItemSelected, List, Text, Type之类的。其中ItemSelected里的就是当前所选择的子项的值,比如ItemSelected=Broker;List里有所有子项的列表,而Type的值是DropDownList。而它在脚本里的语句是Result = ComboBoxVP (CompareProperties, "Label=Type:", "VP=Object Properties2")这个我又该如何抓取?
我用Result=SQASetProperty ("Type=DropDownList;Label=Type:","ItemSelected","Part")结果返回值是1003,找不到。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-9-2 13:08:26 | 只看该作者
还有一个问题,如图3。我测的这个Web页面菜单是Link,鼠标移到字上,比如Create,它就会自动显示下拉菜单。这是否也算是combox?要想选取它的子项,该如何操作?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2004-9-6 14:56:34 | 只看该作者
有人可以帮助我吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2004-9-11 16:49:36 | 只看该作者
第一个问题 如何让combox自动选取它的子项?
这里我自己写了一个html页面,就是简单模拟了一下功能!
<html>
<head>
<title>
Combobox
</title>
</head>
<body>
  这是一个Combo的测试
  
          <p><select size="1" name="D1">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        </select></p>

</body>
</html>



Sub Main
    Dim Result As Integer
    Dim varStr as String
    'Initially Recorded: 2004-9-11  16:53:40
    'Script Name: TestCom
    StartBrowser "C:\Documents and Settings\Administrator\桌面\html.html", "WindowTag=WEBBrowser"
   
    Window SetContext, "WindowTag=WEBBrowser", ""
    Browser NewPage,"HTMLTitle=Combobox",""
    'ComboBox Click, "Name=D1", ""
    'ComboListBox Click, "Name=D1", "Text=2"
    Result=SQAGetProperty("Type=ComboBox;Name=D1","innerText",varStr)
End Sub

以上脚本,返回值为innerText为1,2,3。这里要说明innerText返回值他是返回的是<p><select size="1" name="D1">
        <option>1</option>
        <option>2</option>
        <option>3</option>
        </select></p>
这段代码中select中下边中显示出来的关键字1,2,3。如果属性是outerHtml将是下边的属性值:<SELECT size=1 name=D1> <OPTION selected>1</OPTION> <OPTION>2</OPTION> <OPTION>3</OPTION></SELECT>

所以这说明robot识别combobox没有识别出来你的下拉选项!你可以通过一段代码就可以看出来,代码如下:
ComboBox Click, "Name=D1", ""
ComboListBox Click, "Name=D1", "Text=2"

针对这个问题,我们可以两个解决方法
1.纪录键盘移动!上下操作,可以设置属性!
2.下边的代码,可以是我针对我的网页实现combobox的,主要是针对selectindex属性设置
'$Include "sqautil.sbh"
Sub Main
    Dim Result As Integer
    Dim varStr as String
    Dim List1Content() As String
    'Initially Recorded: 2004-9-11  16:53:40
    'Script Name: TestCom
    StartBrowser "C:\Documents and Settings\Administrator\桌面\html.html", "WindowTag=WEBBrowser"
   
    Window SetContext, "WindowTag=WEBBrowser", ""
    Browser NewPage,"HTMLTitle=Combobox",""
   
     Result = SQASetProperty ("Type=ComboBox;Name=D1", "SelectedIndex", "2")

    if Result=sqaSuccess  then
       msgbox "ok"
    else
       msgbox result
    end if

End Sub

[ Last edited by pcl2004_27 on 2004-9-11 at 17:55 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2004-9-11 18:14:27 | 只看该作者
第二个问题
参数错误 ,type仍然是combobox,你用的属性其实是下拉列表显示后出现的那个里列表控件(这是由于combobox由两个控件组成,其中应该就是你的那个DropDownList),还有ItemSelected属性应该是索引值(好像,我没有vb的环境,所以没有试验)

注意:1003错误是找不到对象,这个要注意!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2004-9-11 18:15:52 | 只看该作者
第三个问题
这个是不对的,从实现上这个是个菜单。而不是combobox,这点要注意,如果要获取他的属性,我觉得应该没有什么必要,而且实现上好像也有困难!
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-12-22 14:08:15 | 只看该作者
回去研究一下!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-1-10 22:06:54 | 只看该作者
是该研究一下,我都是用
    ComboListBox Click, "Type=ComboListBox;HTMLId=sb_ddlWorkDepartment", "Index=" & i
这种语名来选取择下拉框中的某一项的。其中变量I是index值
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 23:36 , Processed in 0.082646 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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