51Testing软件测试论坛

标题: 从excel 取值赋予dropdown的问题 [打印本页]

作者: ROYWONG    时间: 2011-6-3 16:38
标题: 从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报错如下图
[attach]73397[/attach]

请问这是什么问题?望高人指点。是因为select 是对dropdown 对象而言,不能引用excel里的具体预设值?一定要选择dropdown对象然后再select dropdown 里面的options?
抓取到的对象属性如下图:
dropdown 类型: weblist。
[attach]73396[/attach]
如果这种想法不可行的话 有什么好的方法解决这个问题吗?

代码片段:
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
晕!!!!怎么没人回答。。。。。。。
作者: lyscser    时间: 2011-6-6 11:44
大概没人读得懂或者没人有耐心读吧,反正我是没懂
作者: ROYWONG    时间: 2011-6-7 12:41
谢谢3楼的意见,我修改了一下。这样能明白吗?
作者: ROYWONG    时间: 2011-6-7 13:54
沉得真快。。。顶
作者: lyscser    时间: 2011-6-7 15:07
明白了……你说的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
复制代码

作者: ROYWONG    时间: 2011-6-7 15:52
谢谢“砖家叫兽”啊, 我也解决了。 其实和你的方法差不多。也是用了一个变量过度。


代码片段:
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
myExcelSheet.Cells(i,5)是一个对象,而不是一个具体的字符串值,而WebList的select方法只能支持选择序列号和字符串
所以你所说的“过渡变量”的作用就产生了:因为这个变量强制把对象的默认text值赋给了这个变量




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