51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3810|回复: 12
打印 上一主题 下一主题

[求助] 登陆脚本如何实现循环

[复制链接]
  • TA的每日心情
    开心
    2024-1-5 23:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2008-1-10 10:42:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    参照网上例子,编写登陆脚本如下,在setting的run下面设置run on all rows 去无法实现循环,请教是什么原因?
    Dim Status
    Browser("Login").Page("Login").WebEdit("UserName").Set DataTable("username", dtLocalSheet)
    Browser("Login").Page("Login").WebEdit("Password").Set DataTable("password", dtLocalSheet)
    Status = DataTable("Status", dtLocalSheet)
    If Status="pass" Then
          Browser("Login").Page("Login").WebButton("登入").Click
          Browser("Login").Page("Page").Link("渠道管理").Click   
    End If

    If Status="该用户不存在" Then
    Reporter.ReportEvent micFail, "登陆", "登陆失败."
    Browser("Login").close
    End If

    If Status="密码不存在" Then
    Reporter.ReportEvent micFail, "登陆", "登陆失败."
    Browser("Login").close
    End If
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2008-1-10 10:52:57 | 只看该作者
    从代码上看是因为使用了"dtLocalSheet",改成"dtGlobalSheet"。再把数据填写进"Global",应该就可以了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-5 23:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2008-1-10 11:20:16 | 只看该作者
    是这个问题吗?我仅仅编制了一个登陆脚本,dtLocalsheet和dtGlobalsheet应该是没有什么区别的吧?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-1-10 11:38:11 | 只看该作者
    当然有区别了。
    dtLocalsheet是本地的(针对于Action),dtGlobalsheet是全局的。
    dtLocalsheet里的数据需要你通过代码来控制循环使用,dtGlobalsheet里的数据会自动循环使用。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-5 23:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2008-1-10 12:53:10 | 只看该作者
    谢谢,学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-1-10 14:04:45 | 只看该作者
    将要登录的用户名和密码参数化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-1-10 14:10:14 | 只看该作者
    原帖由 jinsen 于 2008-1-10 11:38 发表
    当然有区别了。
    dtLocalsheet是本地的(针对于Action),dtGlobalsheet是全局的。
    dtLocalsheet里的数据需要你通过代码来控制循环使用,dtGlobalsheet里的数据会自动循环使用。

    这两个还有这样的区别呀!学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-1-11 10:28:22 | 只看该作者
    建议你把你所写的代码在QTP中新建个脚本并把对象添加到对象库中,再设置成run on all rows
    应该就可以了
    我用9.2的时候出现过这种问题,修改action call properties中的属性对于脚本运行并没有影响。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2008-1-12 22:06:59 | 只看该作者
    其实循环跑脚步的方式很多

    可以使用 RunAction "Action名",Alliteration

    可以使用 for i=1 to 10
                            RunAction "Action名",oneiteration
                      next

    还有像楼主那样的参数化都行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-6-16 14:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2008-1-12 23:15:44 | 只看该作者
    楼主所说的不能循环是什么意思?是datatable中的值不能自动往下取得吗?如果不能,加个取下一行数据的语句就行了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-1-14 10:00:14 | 只看该作者
    参数化一下
    然后写个循环语句就OK啦!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2008-1-14 10:04:44 | 只看该作者
    原帖由 森林一木 于 2008-1-12 23:15 发表
    楼主所说的不能循环是什么意思?是datatable中的值不能自动往下取得吗?如果不能,加个取下一行数据的语句就行了。


    我也是这样认为问题表达得都不清晰...
    还有楼上的,那个参数化..再加循环 是指?...
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-1-31 12:56:21 | 只看该作者
    说的模糊  不明白
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-19 02:25 , Processed in 0.077377 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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