51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3721|回复: 9
打印 上一主题 下一主题

[求助] 【求助】关于QTP循环问题【修改】

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-9-21 16:01:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
【求助】关于QTP循环问题

谢谢你看此帖:
      在QTP中,我用了下面IF循环读取Global表中的数据,当判断我定义的“行政区”数据是不是为空,为空时就退出循环,这时候表中有两个数据。

Dim xzq
xzq=DataTable("行政区", dtGlobalSheet)
If ( xzq = "" )Then
Exittest
End If


然后我又用FOR循环循环读入Action1表的数据。上面和下面的循环的关系是:当上面输入第一条数据时候,下面For循环,循环一次,输入数据
但问题就来了,上面IF循环输入第二条数据了,下面又循环了,且输入数据一样,我要的是当上面IF循环输入第二条的时候,下面的FOR循环输入的内容不一样。当然,我希望能读入Action2的数据,来解决

Dim   b,i                                               
   
           b=datatable.GetSheet(dtLocalSheet).getrowcount
                   For       i=1  to   b



×××××××

datatable.getSheet(dtLocalSheet).SetNextRow
Next



你能帮忙吗?怎么样才可以读入Action2表中的数据,来使IF循环后的数据不一样


如果我说的不明白的。我可以再附代码给你看看



------------------------------------------------------------------------



Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_4").Check CheckPoint("成都市房屋专项维修资金系统v1.0_4")
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_4").WebEdit("ID___Login$txtUserName").Set "test1"
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_4").WebEdit("ID___Login$txtPassWord").SetSecure "46f32b5c1a26858ee9ca83ad"
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_4").Image("ID___Login$btnLogin").Click 11,19


'定义物业区域,当新建物业区域是,判断【行政区】是否有数据,当为空的时候就退出
  Dim xzq
xzq=DataTable("行政区", dtGlobalSheet)
  If ( xzq = "" )Then
Exittest
End If
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("TopFrame").WebElement("二手房管理").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("LeftFrame").Check CheckPoint("LeftFrame")
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("LeftFrame").WebElement("二手房信息采集").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("新建物业区域信息").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldEstateAreaAdd$OldEstateA").Select DataTable("行政区", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldEstateAreaAdd$OldEstateA_2").Select DataTable("街道办事处", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldEstateAreaAdd$OldEstateA").Set DataTable("物业区域名称", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldEstateAreaAdd$OldEstateA_2").Set DataTable("街道", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldEstateAreaAdd$OldEstateA_3").Set DataTable("号", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldEstateAreaAdd$OldEstateA_4").Set DataTable("附号", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldEstateAreaAdd$OldEstateA_5").Set DataTable("备注", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("保  存").Click
Browser("成都市房屋专项维修资金系统v1.0").Dialog("Microsoft Internet Explorer").WinButton("确定").Click


Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldEstateAreaList$drpTbl").Select "物业区域地址"
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldEstateAreaList$txtWhere").Set DataTable("街道", dtGlobalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("WebButton").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("monthes").Select "一月"
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").Link("3").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("WebButton_2").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("years").Select "2009"
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("monthes_2").Select "六月"
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").Link("28").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("查  询").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").Link("分户").Click

Dim   b,i                                               
   
           b=datatable.GetSheet(dtLocalSheet).getrowcount
                   For       i=1  to   b
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("新建分户信息").Click
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtMo").Set DataTable("单元号", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtFl").Set DataTable("楼层号", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtRo").Set DataTable("室号", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtAd").Set DataTable("详细地址", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtBu").Set DataTable("建筑面积", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldHouseAdd$OldHouse1$dplRo").Select DataTable("房屋类型", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldHouseAdd$OldHouse1$dplRo_2").Select DataTable("房屋结构", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldHouseAdd$OldHouse1$dplRo_3").Select "普通住宅"
Browser("成都市房屋专项维修都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtOw").Set DataTable("业主姓名", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebList("ID_OldHouseAdd$OldHouse1$ddlPa").Select DataTable("证件类型", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtPa").Set DataTable("证件号码", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$tbxDC").Set DataTable("购房金额", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebEdit("ID_OldHouseAdd$OldHouse1$txtRe").Set DataTable("备注", dtLocalSheet)
Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("保  存").Click
Browser("成都市房屋专项维修资金系统v1.0").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
datatable.getSheet(dtLocalSheet).SetNextRow
Next

Browser("成都市房屋专项维修资金系统v1.0").Page("成都市房屋专项维修资金系统v1.0_5").Frame("MainFrame").WebButton("提交审核").Click

[ 本帖最后由 walker1020 于 2007-9-22 14:44 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-9-21 16:04:50 | 只看该作者
当然,也可以读取Action1表的行数来解决,但我就是不知道sdlkfj9
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-9-21 16:19:08 | 只看该作者
呵呵,大哥我实在没看明白你写什么,把代码贴出来我看一下就能明白,不用文字。。。我在努力的研读你的文字。。。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-9-21 16:20:43 | 只看该作者
能不能给点图示解说一下啊?你这个语言表达的不直观
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-9-21 16:26:22 | 只看该作者
好了。。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-9-21 16:54:55 | 只看该作者
好了 就把问题的原因和解决方案告诉大家

怎么都是问问题的时候大叔大姐跪求急求的

自己搞定了 就不说了

典型的卸磨杀驴
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-21 16:56:03 | 只看该作者
。。。。。。
他这个代码我看了就没有什么问题。
不知道哪儿错了。

'datatable("col",dtGlobalsheet)

for i=1 to datatable.getsheet("Action2").getrowcount
'  datatable("col",dtlocalsheet)
'  or datatable(columnnum,dtlocalsheet)
'  datatable.setnextrow
next

[ 本帖最后由 jackymail 于 2007-9-21 17:00 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-9-21 17:00:44 | 只看该作者
不是很理解楼主说的问题,如果是是想把第二部分套在第一部份中进行循环,那第一个可以用while(),然后把第二部分放到它里面进行控制.如果不是这种意思,只是单纯想控制第二部分的循环,那直接在QTP上设置吧.
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-9-21 17:03:50 | 只看该作者
这样恐怕不行。action2里面的数据循环不到。

原帖由 xinxiachen 于 2007-9-21 17:00 发表
不是很理解楼主说的问题,如果是是想把第二部分套在第一部份中进行循环,那第一个可以用while(),然后把第二部分放到它里面进行控制.如果不是这种意思,只是单纯想控制第二部分的循环,那直接在QTP上设置吧.
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2009-9-23 13:11:33 | 只看该作者

    回复 1# 的帖子

    你可以在action1添加output,然后Action2的input直接引用action1的output
    1)给action1添加输出值:右键Action1,选Action Properties,在Output Parameters中添加参数OutAction1,点OK
    2)给action2添加输入值:右键Action2,选Action Properties,在Input Parameters中添加参数InAction2,点OK
    3)将Action1的输出OutAction1,传递给Action2的输入InAction2:右键Action2,选Action Call Properties,弹出Action Call Properties窗口;选中InAction2的Value,弹出Value Configuration Options窗口;在Parameter中共有四项可供选择,选择Test/Action parameter,在Output from previous call(s)中的Action选择Action1,Parameter中选择OutAction1;表示Action2中的参数InAction2,是由Action1中的参数OutAction1传递来的。

    [ 本帖最后由 feiyunkai 于 2009-9-23 13:13 编辑 ]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-13 14:43 , Processed in 0.071492 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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