51Testing软件测试论坛

标题: QTP中的下拉框参数化问题 [打印本页]

作者: andycai    时间: 2008-4-6 22:46
标题: QTP中的下拉框参数化问题
最近在研究如何对网页的下拉框进行参数化,让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则获取一次值吗?我的目的是想让下拉框中的值在表格中逐一显示出来,并且有序的执行。
作者: 今天有雾    时间: 2008-4-7 09:51
首先得出下拉框中有多少个选项
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
作者: andycai    时间: 2008-4-7 11:03
标题: 回复 2# 的帖子
那如何在datatable中一个一个的显示出来呢?而且是重复执行程序的
还有上面是不是写的不对。类型应该不对应吧。应该获取到的是items count吧。

[ 本帖最后由 andycai 于 2008-4-7 13:23 编辑 ]
作者: andycai    时间: 2008-4-7 22:01
标题: 回复 3# 的帖子
问题已经解决。是datatable中的序号跟下拉框中id号不一致导致值被覆盖。
作者: weiyanmei_shui    时间: 2008-4-8 11:06
标题: 感谢楼主
能否将修改的完整的代码共享一下,谢谢楼主~ up
作者: hehekouke    时间: 2008-4-8 16:46
UP,
也想知道!




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