51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2171|回复: 7
打印 上一主题 下一主题

[原创] 从excel 取值赋予dropdown的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-6-3 16:38:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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)
...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-6-4 11:10:36 | 只看该作者
晕!!!!怎么没人回答。。。。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2011-6-6 11:44:08 | 只看该作者
大概没人读得懂或者没人有耐心读吧,反正我是没懂
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2011-6-7 12:41:22 | 只看该作者
谢谢3楼的意见,我修改了一下。这样能明白吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-6-7 13:54:07 | 只看该作者
沉得真快。。。顶
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-6-7 15:07:39 | 只看该作者
明白了……你说的dropdown原来是个下拉框或者说picklist,哪那么多名词呢……下面这方法你试试,如果不行再说
  1. set Osh = CreateObject("Wscript.shell")
  2. dim xxx:xxx = myExcelSheet.Cells(i,5).Value
  3. dim tit:tit = Browser("system a").GetROProperty("title")
  4. Browser("system a").Page("Prog create").WebEdit("ccc").Set myExcelSheet.Cells(i,4)
  5. Osh.Appactive(tit)
  6. Browser("system a").Page("Prog create").WebList("ddd").Click
  7. Browser("system a").Page("Prog create").WebList("ddd").Select xxx
复制代码
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 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)
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-6-7 16:10:39 | 只看该作者
myExcelSheet.Cells(i,5)是一个对象,而不是一个具体的字符串值,而WebList的select方法只能支持选择序列号和字符串
所以你所说的“过渡变量”的作用就产生了:因为这个变量强制把对象的默认text值赋给了这个变量
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 17:54 , Processed in 0.086608 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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