51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3660|回复: 13
打印 上一主题 下一主题

[求助] 如何检测下拉菜单中的某个item是否存在?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-17 16:55:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
window("Notepad").Dialog("Print").Dialog("Printing Preferences").WinComboBox("Paper source:").Select DataTable("Paper_Source", dtGlobalSheet)   最后的“Paper_Soruce”下拉菜单已经被参数化,我想在Select之前先判断一下,要选的参数是否存在。该如何写啊?

多谢个人达人啊:)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-12-17 17:01:53 | 只看该作者
没必要吧!如果不存在QTP自动会报错的!!
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-12-17 17:07:13 | 只看该作者
谢楼上关注。

就是不想让QTP报错,如果不存在直接返回一个结果到Result里就好了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-12-17 17:11:50 | 只看该作者
那可以自己写代码去判断,判断!!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-12-17 17:14:26 | 只看该作者
对,就是想请教这句代码该怎么写。Select好像没有返回值,我不知道该用哪个语句?

您知道告我一声,先道谢了!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-12-17 17:21:45 | 只看该作者
可以用getroproperty取出weblist中的值,由从数据表中取到的值去比较!!
x=DataTable("aper_Source", dtGlobalSheet)
y=browser().page().frame().weblist().getroproperty("all items")
if instr(y,x)=0 then
    不存在
else
    存在
end if


仅供参考,如有错误敬请见谅
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-12-17 17:29:44 | 只看该作者
那就是说我要取出所有的item的value咯,有多少个item就要取多少次咯。这个下拉菜单有点多。

不能判断菜单中是否有此item吗?绝望ing。。。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-12-17 18:11:36 | 只看该作者
先GET到LIST的COUNT
然后
function ***(你的值)
{
for(int i = 0;i<count;i++){
   if(******WebList("").GetItem(i) == 你的值)
    return 0;//表示存在
}
   return 1;//表示不存在
}

我把QTP当C来写了,你改成VBS的语法就行了,不知道这样合你的要求吗
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-12-18 10:20:51 | 只看该作者
先get allitems的值,然后把";"处理掉,把所有的value保存到一个数组里面去
然后去比较你要的那个value是不是在数组里面。
我试过的,可以的
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-12-24 16:10:13 | 只看该作者
但是请问如何得到这个数组有多少个呀?而且这样比较实在是太占内存了吧
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-12-26 09:56:20 | 只看该作者
现在看来只能用函数比较了。就是比较麻烦。

QTP中函数能不能封装阿,调用起来就方便了。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-12-26 10:06:23 | 只看该作者
有这样的方法的

使用GetContent方法,可以搜索到list中想要的项,例子如下:

Sub GetContent_Example()

With Window("Flight Reservation")
     content = .WinComboBox("Fly From:").GetContent
End With

End Sub
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-12-26 14:02:08 | 只看该作者
取出来的值用temparray=splite(......)函数来分割就ok了
至于怎么用自己去查下吧
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-12-26 14:07:35 | 只看该作者
如果想知道数组的上限 可以用ubound(temparray)可以得到
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-23 13:28 , Processed in 0.078681 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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