51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4502|回复: 15
打印 上一主题 下一主题

[原创] 为什么On error resume next这一句不起作用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-5-15 18:08:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
为什么On error resume next这一句不起作用

Browser("Williams ConEx Registration").Page("Williams ConEx Registration").WebList("fairId").Select "TEST_FAIR"
Browser("Williams ConEx Registration").Page("Williams ConEx Registration_2").WebEdit("barcode").Set DataTable("parameter", dtGlobalSheet)
Browser("Williams ConEx Registration").Page("Williams ConEx Registration_2").WebEdit("barcode").Submit
Browser("Williams ConEx Registration").Page("Williams ConEx Registration_3").Sync
On error resume next

为什么On error resume next这一句不起作用,还是不能返回到开始的界面,因为每次执行完就报错.必须点后退才可以循环执行.请高手指教!!!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

16#
发表于 2008-6-30 15:40:04 | 只看该作者
顶个 方法
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2006-6-12 08:15:51 | 只看该作者
友情问一句,reset是什么?
自己写的函数吗?还是什么自带的函数?
能否讲的详细点。谢谢~
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2006-6-9 15:06:06 | 只看该作者
michaelyung,谢谢你,现在才完全理解你的意思.
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2006-5-30 09:56:42 | 只看该作者
因为这里你的上一步和下一步有依赖性。如果其中一步出错的话,后面的有些对象当然就识别不了了,所以就停在出错的页面。个人觉得两种办法:
1. 把你的这些action封装在一个function里,然后外部用on error resume next,这样function里某一步出错时,直接放弃,exit 到funtion外面再重新进去。
on error resume next
for (){
....//your code
reset() //重新复位,进行下一轮
}

2. 在每一步加上wait语句,一定要wait到该步成功后才到下一步,如果出错就会停在那里,每sleep一定时间再执行能否成功,一直到你手工强制通过后再进行后面的。

这种前后依赖性强的一般都是reset重新来,否则中间一步出错了,后面的结果都是无意义的。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2006-5-17 11:28:23 | 只看该作者
谢谢,我现在明白了,以前我是尝试着用on error resume next ,不能解决问题.
那我的问题有解决的办法么
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2006-5-17 11:23:54 | 只看该作者
on error resume next是qtp脚本本身抱错时候执行下一条语句,并不是可以忽略页面上报出的错误,这点我们理解相同吗?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2006-5-17 10:09:15 | 只看该作者
对啊,我现在就是放在最前面的,可是还是有报错的界面
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-5-16 19:13:04 | 只看该作者
on error resume next有其作用域的概念的,一般会写在作用脚本的前面,lz尝试一下把这句话放在最前面,看有不同吗?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2006-5-16 18:12:01 | 只看该作者
谢谢各位前辈了,每一次执行完了,就转到报错的界面是Browser("Apache Tomcat/5.0.28 -"),必须按工具拦的"返回"才可以继续执行,有什么办法可以跳过报错的界面么?虽然插入一个返回的步骤也可以,可是这个不是好办法啊

[ 本帖最后由 hepburn 于 2006-5-16 18:15 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-5-16 18:06:13 | 只看该作者
你已经设了dtGlobalSheet了,每个数据应该可以循环一次!
你的错误是什么!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-5-16 17:34:54 | 只看该作者
On error resume next 是用来做脚本本身的出错处理用的,对于循环就用其他的方法好了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2006-5-16 16:43:03 | 只看该作者
Browser("Williams ConEx Registration").Page("Williams ConEx Registration").WebList("fairId").Select "TEST_FAIR"
Browser("Williams ConEx Registration").Page("Williams ConEx Registration_2").WebEdit("barcode").Set DataTable("parameter", dtGlobalSheet)
Browser("Williams ConEx Registration").Page("Williams ConEx Registration_2").WebEdit("barcode").Submit
Browser("Williams ConEx Registration").Page("Williams ConEx Registration_3").Sync
On Error Resume Next

报错的界面是Browser("Apache Tomcat/5.0.28 -")
循环就是DataTable的数据每个都要执行一次

[ 本帖最后由 hepburn 于 2006-5-16 16:44 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-5-16 16:34:10 | 只看该作者
"On error resume next"
这句话的意思是:一但出错了就恢复到出错位置下一个记录.
至于你要执行什么循环,看不明白
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-5-16 16:22:59 | 只看该作者
那这个语句On error resume next,怎么理解呢
还有我上面的问题要怎么解决,就是每次运行完都要转到报错的页面,然后必须返回才可以循环执行

[ 本帖最后由 hepburn 于 2006-5-16 16:25 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2006-5-16 13:49:59 | 只看该作者
描述详细一点,按你目前的描述应该是你对On error resume next
这个语句的作用理解错误
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 13:27 , Processed in 0.088075 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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