google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

[求助] 如何取出下拉菜单中的值

如何取出下拉菜单中的值


请教各位,如何依次取出下拉菜单中的值呢?
我把选择下拉菜单中的值参数话了
Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Select DataTable("Mode", dtLocalSheet)
并且用了for循环,可是总是取出的是同一个值,为什么呢

TOP

TOP

DATATABLE.SetCurrentRow  把这个加到你的FOR中去。

TOP

恩恩,你从DATATABLE中取的值只运行了第一行,没有运行下边的,出来的当然是同样的值了

TOP

焦点没有移动,去看下datatable的方法
向着QTP自动化方向深入发展
欢迎QTP研究者一起交流,相互进步
欢迎访问我的测试博客:http://www.51testing.com/?uid/161787

TOP

引用:
原帖由 lijian422202 于 2008-7-18 09:27 发表
DATATABLE.SetCurrentRow  把这个加到你的FOR中去。
这个我加过了,可是还是不行

TOP

For k=1 to Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").GetROProperty("items count")
DataTable.SetCurrentRow(k)
Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Click
Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").GetItem(k)
Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Select DataTable("Mode", dtLocalSheet)
Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Click

Next

TOP

DataTable.SetCurrentRow(k)  改成datatable.getsheet(sheetname).setcurrentrow(k) 试试   sheetname是你当前运行的sheetname
我一直在路上.

TOP

For k=1 to Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").GetROProperty("items count")
你用Sheet做的参数,为什么要用GetROProperty("items count")做循环?。。你先msgbox GetROProperty("items count")看看吧。

TOP

引用:
原帖由 zhou840401 于 2008-7-18 09:44 发表
DataTable.SetCurrentRow(k)  改成datatable.getsheet(sheetname).setcurrentrow(k) 试试   sheetname是你当前运行的sheetname
不行,提示:The DataTable.GetSheet operation failed. Specify the sheet using a text string or numerical index value.

TOP

引用:
原帖由 lijian422202 于 2008-7-18 09:54 发表
For k=1 to Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").GetROProperty("items count")
你用Sheet做的参数,为什么要用GetROProperty("items count")做循环?。。你先msgbox GetROPro ...
这个只是取出菜单中值的个数确定需要循环的次数

TOP

msgbox Browser("用户注册").Page("用户注册").WebList("dpCity").GetROProperty("items count")

For i=1 to  Browser("用户注册").Page("用户注册").WebList("dpCity").GetROProperty("items count")
datatable.GetSheet("Action1").setcurrentrow(i)
Browser("用户注册").Page("用户注册").WebList("dpCity").Select DataTable("p_Item", dtLocalSheet)
Browser("用户注册").Page("用户注册").WebList("dpCity").Click
Next

TOP

我自己实验了下 是可以通过的~! 你自己在看看!~

TOP

最简单的方法,是使用 for循环加index的方法
好好活着,因为我们要死很久很久......

TOP

For i=0 To N

Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Select “#”&i

NEXT
好好活着,因为我们要死很久很久......

TOP

扩展一下,随即取下列列表的值


For i=0 To N

Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Select "#"&RandomNumber(0, n)
NEXT

TOP

引用:
原帖由 zrg9399 于 2008-7-27 23:31 发表
For i=0 To N

Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Select "#"&RandomNumber(0, n)
NEXT
这样就行了吧
Randomize
i = CInt(n * Rnd)
Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").Select "#"&i

[ 本帖最后由 zte_boy 于 2008-7-28 01:14 编辑 ]
向着QTP自动化方向深入发展
欢迎QTP研究者一起交流,相互进步
欢迎访问我的测试博客:http://www.51testing.com/?uid/161787

TOP

回复 1# 的帖子


好像没这么难吧,Browser("Firewall").Page("Firewall").Frame("data").WebList("modename").getroproperty("value"),这样就可以取出下拉菜单中的值了吧

TOP

恩,
不错!
又学到知识了!
   改变可以改变的,接受不能改变的!!

TOP

   改变可以改变的,接受不能改变的!!

TOP

 
当前时区 GMT+8, 现在时间是 2008-11-21 09:32Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹