51Testing软件测试论坛

标题: qtp下拉菜单参数化时,运行数据不对 [打印本页]

作者: zycdele    时间: 2007-12-11 15:10
标题: qtp下拉菜单参数化时,运行数据不对
qtp下拉菜单参数化时,运行数据不对.代码如下:
VbWindow("frmSystem").VbWindow("frmSinput_2").WinObject("ThunderRT6PictureBoxDC").Type " "
'VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").type DataTable("转存标志", dtLocalSheet)
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Type  micReturn
下拉菜单的默认值是2,但是我在datadable中输入0,运行时还是选2.哪位大虾来帮帮忙.小女非常感激!
作者: hsjzfling    时间: 2007-12-11 17:10
'VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").type DataTable("转存标志", dtLocalSheet)
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Type  micReturn

替换为
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Select DataTable("转存标志", dtLocalSheet)

PS:自称小女子时顺便就附上照片吧
作者: walker1020    时间: 2007-12-11 17:16
根据你的描述,我猜测是 type DataTable("转存标志", dtLocalSheet) 操作不成功,建议列名使用英文后 再试试
作者: walker1020    时间: 2007-12-11 17:20
下面这行代码是你自己写的 还是QTP自己生成的?
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").type DataTable("转存标志", dtLocalSheet)
作者: zycdele    时间: 2007-12-11 17:23
楼上的方法我以前都试过,都不成功.谢谢各位,目前我用一个判断实现了.谢谢!

Dim var_zhctype
var_zhctype=datatable.Value("转存标志", dtLocalSheet)
Select Case var_zhctype
Case  0
VbWindow("frmSystem").VbWindow("frmSinput_2").WinObject("ThunderRT6PictureBoxDC").Type " "
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Select 0
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Type  micReturn
case "1"
VbWindow("frmSystem").VbWindow("frmSinput_2").WinObject("ThunderRT6PictureBoxDC").Type " "
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Select "1"
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Type  micReturn
case "2"

VbWindow("frmSystem").VbWindow("frmSinput_2").WinObject("ThunderRT6PictureBoxDC").Type " "
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Select "2"
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Type  micReturn
End Select
作者: mythxhg    时间: 2007-12-11 17:24
2楼的应该没问题的
作者: mythxhg    时间: 2007-12-11 17:25
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Select DataTable("转存标志", dtLocalSheet)
VbWindow("frmSystem").VbWindow("frmSinput_2").VbList("cboSinput").Type  micReturn
作者: walker1020    时间: 2007-12-11 17:32
刚才查看了一下帮助,VbList类型对象的 Type 后面的参数是 representing non-alphanumeric keys 的字符常量,如 micCtrlDwn ,因此那里必须是  Select
作者: hsjzfling    时间: 2007-12-11 18:02
标题: 回复 5# 的帖子
不成功就要想想为啥不成功。。。

现在想想就一种可能性比较大。。。莫非。。。LZ把数据存在GlobalSheet中的。。。
作者: walker1020    时间: 2007-12-11 23:09
楼主人呢? 怎么不见回答?
作者: zycdele    时间: 2007-12-12 15:59
标题: 已经解决
那些方式在没发贴之前我都试了,datatable中的转存标志值不管为0还是2,运行都选2.所以后来才想到用程序来判断.首先申明下拉菜单的默认值为第三个值2.还有就是值不是在GlobalSheet中,已经解决了.谢谢各位
作者: walker1020    时间: 2007-12-14 21:35
问题解决了是好事情,可是 问题到底出在什么地方呢?




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