51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6999|回复: 24
打印 上一主题 下一主题

[原创] qtp10.0参数化后如何添加循环语句的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-3-3 10:29:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
运行如下脚本,执行时只执行了一条被参数化的数据,应该如何添加循环才能执行被参数化的所有数据,如何利用qtp本事设置的run all rows也只能执行一便,因为Browser("管理后台").Page("管理后台").Frame("mainFrame").Link("记录列表(0)").Click中的记录列表(0)是动态的,随着添加的记录数发生变化。所以我是想在这个链接里面的列表中做循环。
请各位高手指教!

Browser("管理后台").Page("管理后台").Frame("leftFrame").Link("Zone管理").Click
Browser("管理后台").Page("管理后台").Frame("mainFrame_4").WebButton("增加").Click
Browser("管理后台").Page("管理后台").Frame("leftFrame").WebElement("Zone管理").Click
Browser("管理后台").Page("管理后台").Frame("mainFrame").Link("记录列表(0)").Click
Dim i,
for i=1 to 4

Browser("管理后台").Page("管理后台").Frame("mainFrame_2").WebButton("增加").Click
Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebEdit("zoneRRBean.host").Set DataTable("zonerr_host",dtGlobalSheet)
Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebList("zoneRRBean.rr_type_id").Select DataTable("zonerr_type",dtGlobalSheet)
Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebEdit("zoneRRBean.data").Set DataTable("zonerr_data",dtGlobalSheet)
Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebEdit("zoneRRBean.ttl").Set DataTable("zonerr_ttl", dtGlobalSheet)
Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebButton("提交").Click
Browser("管理后台").Page("管理后台").Frame("mainFrame_4").WebButton("确定").Click
next
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

25#
发表于 2012-3-17 20:50:33 | 只看该作者
超级新手问个问题,在keyword view里面参数化选择本地表以后,不是直接就能循环了吗? 为什么还要在专家视图里写for循环呀????
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    24#
    发表于 2011-3-14 13:04:10 | 只看该作者
    直接用描述方便点吧吧?
    '加上index:
    Browser("管理后台").Page("管理后台").Frame("mainFrame").Link("text:=记录列表*,index:=i").Click
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23#
     楼主| 发表于 2011-3-8 11:00:35 | 只看该作者
    问题已经解决了,谢谢大家的帮助,我是使用的描述性语言的方法。
    Dim zonerrdescription
    Set zonerrdescription = description.Create
    zonerrdescription("text").value = "记录列表.*"
    zonerrdescription("html tag").value="A"

    Browser("管理后台").Page("管理后台").Frame("mainFrame").Link(zonerrdescription).Click
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    22#
    发表于 2011-3-6 11:48:40 | 只看该作者
    楼主,先明确下你的问题,是要循环点击link("记录列表(0)"),link("记录列表(1)")...link("记录列表(i)")吗?如果这样的话可以按下面这样做:
    a.获得页面所有的link对象,Browser().Page().ChildObjects("micclass:=link")
    b.获取所有link的innertext属性(或许是其它属性,只要包含记录列表(i)就行)
    c. 如果innertext属性包含记录列表(i),截取i的值
    d.在所有获得的i值中取最大值
    e.用for循环,Browser().Page().Link("text:=记录列表("&i&")").Click
    还有一种方法就是加个判断:
    For i=1 to 10000
      if Browser().Page().Link("text:=记录列表("&i&")").Exist Then
        Browser().Page().Link("text:=记录列表("&i&")").Click
      End If
    Next
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    21#
    发表于 2011-3-4 13:26:31 | 只看该作者
    不过感觉好难啊。正则表达式~~
    apples919 发表于 2011-3-4 11:36

    找点资料看看,相信很好解决的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2011-3-4 11:36:55 | 只看该作者
    不过感觉好难啊。正则表达式~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
     楼主| 发表于 2011-3-4 11:36:22 | 只看该作者
    我先试试用正则表达式,如果可以反馈给你们~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    18#
    发表于 2011-3-3 17:35:58 | 只看该作者
    本帖最后由 june.diny 于 2011-3-3 17:54 编辑

    回复 12# apples919

    将这个对象的属性用正则表达式来表示。。。。
    对象库里记录的是text=记录列表(0),当有多条记录时,这个对象的属性就会变的---比如一条记录时,text=记录列表(1),所以识别不到....
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    17#
    发表于 2011-3-3 17:12:52 | 只看该作者
    回复 16# apples919


    额。。。。。这个是Browser的对象没找到啊, LZ自己检查下对象库, 没有的话要么用描述性语言
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
     楼主| 发表于 2011-3-3 17:06:27 | 只看该作者
    The "管理后台" Browser object was not found in the Object Repository.
    Check the Object Repository to confirm that the object exists or to find the correct name for the object.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    15#
    发表于 2011-3-3 17:01:56 | 只看该作者
    回复 14# apples919


    还报什么错啊?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
     楼主| 发表于 2011-3-3 16:38:45 | 只看该作者
    依然有问题!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    13#
    发表于 2011-3-3 16:31:55 | 只看该作者
    回复 12# apples919


    可能是由于特殊字符的原因, LZ转义下看看, 改为:

    Browser("管理后台").Page("管理后台").Frame("mainFrame").Link("text:=记录列表\(" & i & "\)").Click
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2011-3-3 16:21:58 | 只看该作者

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    11#
    发表于 2011-3-3 16:11:18 | 只看该作者
    LZ发个Link的图片或者其属性上来看看吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2011-3-3 16:01:32 | 只看该作者
    Cannot identify the object "[ Link ]" (of class Link). Verify that this object's properties match an object currently displayed in your application.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    9#
    发表于 2011-3-3 15:53:00 | 只看该作者
    回复 8# apples919


    对象库不存在的话用描述性语言吧, LZ改下:
    Browser("管理后台").Page("管理后台").Frame("mainFrame").Link("text:=记录列表(" & i & ")").Click
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-3-3 15:50:53 | 只看该作者
    The "记录列表(& i &)" Link object was not found in the Object Repository.
    Check the Object Repository to confirm that the object exists or to find the correct name for the object.
    报的错
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2011-3-3 14:32:50 | 只看该作者
    本帖最后由 shingo0109 于 2011-3-3 14:34 编辑

    回复 5# apples919

    这么写试试看呢:
    Dim i
    for i=0 to 3
    Browser("管理后台").Page("管理后台").Frame("mainFrame").Link("记录列表(" & i & ")").Click

    Browser("管理后台").Page("管理后台").Frame("mainFrame_2").WebButton("增加").Click
    Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebEdit("zoneRRBean.host").Set DataTable("zonerr_host",dtGlobalSheet)
    Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebList("zoneRRBean.rr_type_id").Select DataTable("zonerr_type",dtGlobalSheet)
    Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebEdit("zoneRRBean.data").Set DataTable("zonerr_data",dtGlobalSheet)
    Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebEdit("zoneRRBean.ttl").Set DataTable("zonerr_ttl", dtGlobalSheet)
    Browser("管理后台").Page("管理后台").Frame("mainFrame_3").WebButton("提交").Click
    Browser("管理后台").Page("管理后台").Frame("mainFrame_4").WebButton("确定").Click
    next
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 11:21 , Processed in 0.081203 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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