51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2425|回复: 5
打印 上一主题 下一主题

[原创] 为什么data table里的记录不能循环执行?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-1 16:05:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我刚开始学qtp,用的是qtp 9.0.
录了一个简单的登录脚本,代码如下:

Dim iStatus
Dim CurrentURL
Dim LoginUrl
        LoginUrl = "http://www.kadang.com/iportal/login/kadang-login.jsp"
        Browser("卡当.创造个性人生").Navigate LoginUrl
        Browser("卡当.创造个性人生").Page("卡当.创造个性人生").WebEdit("org.apache.jetspeed.login.user").Set   DataTable("username", dtLocalSheet)
        Browser("卡当.创造个性人生").Page("卡当.创造个性人生").WebEdit("org.apache.jetspeed.login.pass").Set  DataTable("password", dtLocalSheet)
        iStatus = DataTable("status", dtLocalSheet)
        Browser("卡当.创造个性人生").Page("卡当.创造个性人生").WebButton("登 录").Click
        CurrentURL=  browser("卡当.创造个性人生").Object.LocationURL  
        if( currenturl = LoginUrl) then
                If   iStatus="该用户不存在"    Then
                        Reporter.ReportEvent micPass, "登录失败", "用户名不存在"
                else if  iStatus="密码不正确"    Then
                        Reporter.ReportEvent micPass, "登录失败", "口令错误"
                      end if
                end if
        else
               Reporter.ReportEvent micPass, "登录成功", "成功"
        End If       
        Browser("卡当.创造个性人生").Close


data table里设了两条记录:
username    password    status
leevy          654321
leevy          123456      密码不正确


setting设置:run on all rows
第一次回放时,只执行了第一条记录. 然后我就胡乱配置了一下,第二次回放时,执行了两条记录.
但在我追回了第三条记录(xxxxxx        xxxxxx       该用户不存在)后,再怎么设置,也只执行两条记录,每次就只循环两次就结束.

请各位大侠帮个忙,给解决一下.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-3-1 16:10:42 | 只看该作者
在action属性里面设置run all the row。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-3-1 16:19:17 | 只看该作者
原帖由 风过无息 于 2007-3-1 16:10 发表
在action属性里面设置run all the row。


没找到在哪里设置.能告诉我路径吗?谢谢!
我设置的setting->run中的run on all rows为什么不起作用呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-3-2 11:56:14 | 只看该作者
如果你的数据在此Global表中,他会全部执行,
如果数据在Action1表中,可能需要加入循环,在循环的最后写入datatable.setnextrow

这只是本人的想法,不知道能否帮你解决
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-3-6 10:48:17 | 只看该作者
原帖由 rokey 于 2007-3-2 11:56 发表
如果你的数据在此Global表中,他会全部执行,
如果数据在Action1表中,可能需要加入循环,在循环的最后写入datatable.setnextrow

这只是本人的想法,不知道能否帮你解决

按照您的方法,该问题解决了,非常感谢楼上的.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-3-6 12:06:27 | 只看该作者
原帖由 rich 于 2007-3-1 16:19 发表


没找到在哪里设置.能告诉我路径吗?谢谢!
我设置的setting->run中的run on all rows为什么不起作用呢?

选中ACTION,右键,然后就可以看到了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-18 10:43 , Processed in 0.074312 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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