ROYWONG 发表于 2011-6-3 16:38:14

从excel 取值赋予dropdown的问题

本帖最后由 ROYWONG 于 2011-6-7 12:50 编辑

用qtp来测试系统里的 create function(如:User)。user 中包含多个 textbox 和dropdown 的必填属性值。 dropdown 有些有重属关系,有些相互之间无关系(例如:dropdown 2 的值会根据选择dropdown 1的值而不同)。
目的: 想设计一批预设值在excel里面,然后让qtp 去按这些预设值去批量创建。
问题: textbox的值已经成功读取到excel中的预设值,但dropdown的地方qtp报错如下图


请问这是什么问题?望高人指点。是因为select 是对dropdown 对象而言,不能引用excel里的具体预设值?一定要选择dropdown对象然后再select dropdown 里面的options?
抓取到的对象属性如下图:
dropdown 类型: weblist。

如果这种想法不可行的话 有什么好的方法解决这个问题吗?

代码片段:
With Browser("system a")
.Page("Main page").Link("P Maintenance").Click
.Page("P Maintenance").WebButton("Create").Click
.Page("Prog create").WebEdit("aaa").Set myExcelSheet.Cells(i,2)       ' 成功按预设值输入textbox
.Page("Prog create").WebEdit("bbb").Set myExcelSheet.Cells(i,3)      ' 成功按预设值输入textbox
.Page("Prog create").WebEdit("ccc").Set myExcelSheet.Cells(i,4)      ' 成功按预设值输入textbox
.Page("Prog create").WebList("ddd").Select myExcelSheet.Cells(i,5)    ' 这里开始是dropdown,运行到这就报错了。
.Page("Prog create").WebList("eee").Select myExcelSheet.Cells(i,6)
...

ROYWONG 发表于 2011-6-4 11:10:36

晕!!!!怎么没人回答。。。。。。。

lyscser 发表于 2011-6-6 11:44:08

大概没人读得懂或者没人有耐心读吧,反正我是没懂

ROYWONG 发表于 2011-6-7 12:41:22

谢谢3楼的意见,我修改了一下。这样能明白吗?

ROYWONG 发表于 2011-6-7 13:54:07

沉得真快。。。顶

lyscser 发表于 2011-6-7 15:07:39

明白了……你说的dropdown原来是个下拉框或者说picklist,哪那么多名词呢……下面这方法你试试,如果不行再说
set Osh = CreateObject("Wscript.shell")
dim xxx:xxx = myExcelSheet.Cells(i,5).Value
dim tit:tit = Browser("system a").GetROProperty("title")
Browser("system a").Page("Prog create").WebEdit("ccc").Set myExcelSheet.Cells(i,4)
Osh.Appactive(tit)
Browser("system a").Page("Prog create").WebList("ddd").Click
Browser("system a").Page("Prog create").WebList("ddd").Select xxx

ROYWONG 发表于 2011-6-7 15:52:01

谢谢“砖家叫兽”啊, 我也解决了。 其实和你的方法差不多。也是用了一个变量过度。


代码片段:
Dim a
a= myExcelSheet.Cells(i,5)
With Browser("system a")
.Page("Main page").Link("P Maintenance").Click
.Page("P Maintenance").WebButton("Create").Click
.Page("Prog create").WebEdit("aaa").Set myExcelSheet.Cells(i,2)       ' 成功按预设值输入textbox
.Page("Prog create").WebEdit("bbb").Set myExcelSheet.Cells(i,3)      ' 成功按预设值输入textbox
.Page("Prog create").WebEdit("ccc").Set myExcelSheet.Cells(i,4)      ' 成功按预设值输入textbox
.Page("Prog create").WebList("ddd").Select a    ' 查看了一下qtp 的帮助文档,说select weblist 方法后面要加 "A Variant value”, 奇怪的是,如果我不用excel 导入数据,直接在select后面 加个要输入的值,回放又能成功,偏偏用excel的时候才要用变量过度。想不通。。。anyway,可以达到我要的效果了。
.Page("Prog create").WebList("eee").Select myExcelSheet.Cells(i,6)

lyscser 发表于 2011-6-7 16:10:39

myExcelSheet.Cells(i,5)是一个对象,而不是一个具体的字符串值,而WebList的select方法只能支持选择序列号和字符串
所以你所说的“过渡变量”的作用就产生了:因为这个变量强制把对象的默认text值赋给了这个变量
页: [1]
查看完整版本: 从excel 取值赋予dropdown的问题