查看完整版本: 为什么On error resume next这一句不起作用

hepburn 2006-5-15 18:08

为什么On error resume next这一句不起作用

为什么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这一句不起作用,还是不能返回到开始的界面,因为每次执行完就报错.必须点后退才可以循环执行.请高手指教!!!!!

海龙 2006-5-16 13:49

描述详细一点,按你目前的描述应该是你对On error resume next
这个语句的作用理解错误

hepburn 2006-5-16 16:22

那这个语句On error resume next,怎么理解呢
还有我上面的问题要怎么解决,就是每次运行完都要转到报错的页面,然后必须返回才可以循环执行

[[i] 本帖最后由 hepburn 于 2006-5-16 16:25 编辑 [/i]]

xiaonan 2006-5-16 16:34

"On error resume next"
这句话的意思是:一但出错了就恢复到出错位置下一个记录.
至于你要执行什么循环,看不明白

hepburn 2006-5-16 16:43

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的数据每个都要执行一次

[[i] 本帖最后由 hepburn 于 2006-5-16 16:44 编辑 [/i]]

investmark 2006-5-16 17:34

On error resume next 是用来做脚本本身的出错处理用的,对于循环就用其他的方法好了。

QA_BAY 2006-5-16 18:06

你已经设了dtGlobalSheet了,每个数据应该可以循环一次!
你的错误是什么!

hepburn 2006-5-16 18:12

谢谢各位前辈了,每一次执行完了,就转到报错的界面是Browser("Apache Tomcat/5.0.28 -"),必须按工具拦的"返回"才可以继续执行,有什么办法可以跳过报错的界面么?虽然插入一个返回的步骤也可以,可是这个不是好办法啊

[[i] 本帖最后由 hepburn 于 2006-5-16 18:15 编辑 [/i]]

Hunter 2006-5-16 19:13

on error resume next有其作用域的概念的,一般会写在作用脚本的前面,lz尝试一下把这句话放在最前面,看有不同吗?

hepburn 2006-5-17 10:09

对啊,我现在就是放在最前面的,可是还是有报错的界面

Hunter 2006-5-17 11:23

on error resume next是qtp脚本本身抱错时候执行下一条语句,并不是可以忽略页面上报出的错误,这点我们理解相同吗?

hepburn 2006-5-17 11:28

谢谢,我现在明白了,以前我是尝试着用on error resume next ,不能解决问题.
那我的问题有解决的办法么

michaelyung 2006-5-30 09:56

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

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

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

hepburn 2006-6-9 15:06

michaelyung,谢谢你,现在才完全理解你的意思.

m_2 2006-6-12 08:15

友情问一句,reset是什么?
自己写的函数吗?还是什么自带的函数?
能否讲的详细点。谢谢~

lin85210 2008-6-30 15:40

顶个 方法
页: [1]
查看完整版本: 为什么On error resume next这一句不起作用