51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5328|回复: 5
打印 上一主题 下一主题

[原创] QTP中的下拉框参数化问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-6 22:46:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在研究如何对网页的下拉框进行参数化,让QTP能够逐个对其调用执行,并且想QTP每执行一次循环,下拉框中的值会逐个按顺序显示在datatable中,但是尝试了许久,都没能解决,只能让所有的值同时显示在一个表格中。在尝试过程中出现了一些问题,想请大家帮忙查看。谢谢。
Dim id,c1,s1
For id=0 to 9
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("userName").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "47cf9c1063f49dee314fdac4c282898774372e5f"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 23,11
c1=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").GetROProperty("#")& id
s1=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").GetItem(c1)
DataTable.Value("A",Global)=s1

Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select ("#")& id

Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "San Francisco"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toMonth").Select "December"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 44,7
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 75,13
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "andycai"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "cai"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "8888888888888888"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebCheckBox("ticketLess").Set "ON"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 50,14
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Image("home").Click
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
Next
运行的时候出现了这样的错误提示:
The statement contains one or more invalid function arguments.
"s1=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").GetItem(c1)" 。
在程序中,不是每运行一次,getitem则获取一次值吗?我的目的是想让下拉框中的值在表格中逐一显示出来,并且有序的执行。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-4-7 09:51:36 | 只看该作者
首先得出下拉框中有多少个选项
Dim listcount
listcount=Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").GetROProperty("all items ")
选择每个调用的下拉框值
for i =0 to listcount-1
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").select "#" & i
NEXT
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-4-7 11:03:59 | 只看该作者

回复 2# 的帖子

那如何在datatable中一个一个的显示出来呢?而且是重复执行程序的
还有上面是不是写的不对。类型应该不对应吧。应该获取到的是items count吧。

[ 本帖最后由 andycai 于 2008-4-7 13:23 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-4-7 22:01:00 | 只看该作者

回复 3# 的帖子

问题已经解决。是datatable中的序号跟下拉框中id号不一致导致值被覆盖。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-8 11:06:57 | 只看该作者

感谢楼主

能否将修改的完整的代码共享一下,谢谢楼主~ up
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-8 16:46:30 | 只看该作者
UP,
也想知道!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 17:30 , Processed in 0.095876 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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