原帖由 rcpp 于 2008-9-2 11:46 发表
面向无人值守,还是可以的
关键是有测试人员跟我提出过这样的需求,希望等运行结束了再去看;而不是每隔一段时间去看看脚本是不是一个对话框在那里卡住了,这样就得是不是去盯着
另外QTP提供了完整的错误报告,想要 ...
原帖由 hsjzfling 于 2008-9-2 13:12 发表
假设一个case要执行的UI操作的代码有1000行,如果在前面几行就有一个控件没点到,就意味着后面所有的操作都无法进行下去了。按照默认的全局等待时间20秒来计算,单个脚本就要20000秒,如果还要这样跑多个Case,原 ...
原帖由 rcpp 于 2008-9-2 13:45 发表
为什么你的脚本都没有组织,1000行代码全部都是依赖关系的?
这个跟组织脚本的方式有关系,我们目前是每一行代码就是一个调用function,每一个功能点是一个function
这个失败了走下一个,怎么会一直等待
事 ...
原帖由 hsjzfling 于 2008-9-2 14:01 发表
那你得一开始就说清楚啊,按照你们的做法,Function 封装代码的结构才是最关键的,还有就是On Error语句的局部错误控制处理,设置反而次要了。没头没尾就说那么设置一下,会误导新人的。
10000行代码都依赖也 ...
原帖由 rcpp 于 2008-9-2 13:52 发表
实践出真知,实际尝试一下就知道了
我们以前一个action是一个功能点,现在一个function是一个功能点
都是可以这样应用来直接搞定
On error虽好,但抛出错误很不方便,除非你每一行代码都取一下error对象,那样代码 ...
原帖由 hsjzfling 于 2008-9-2 14:05 发表
唉,你都说了一个Function为一个功能,有错就结束Function,这时不就返回了一个Err对象么,Err对象是可以随着Function的一层层调用自最底层返回给最顶层调用的,截获Err只需要在你想要的Function层次中捕获就行了 ...
原帖由 rcpp 于 2008-9-2 14:11 发表
不对的
在一个function中,如果你返回最后一个err,这个错误无法用于诊断
比如一个function有12行代码,在第2行出错了,而你用on error resume next了,之后3到12行都错
但是抛回的是第12行的错误,你怎么知道 ...
原帖由 hsjzfling 于 2008-9-2 15:12 发表
Function外局部使用On Error Resume Next,这样在Function内部有Error产生就会先因为暂停,将错误一层层返回到有On Error Resume Next那层,然后从这里开始继续执行下一步,可以是调用下一个Function,也可以是循环到下一个Test.
这样只会将产生的第一个错误返回。
而按照你所说,假设第2行和12都有错,返回的是12行的错的话,想要取到12行的错,那么你的脚本不是要从第2行报错后就一直吭哧吭哧执行到12行才能取到这个错?既然要执行到12行,那是不是可以认为即使有错了那你的脚本还是会执行完整个Function的所有语句?那么你所说的Function有错就会终止不就不成立了?
原帖由 rcpp 于 2008-9-2 14:09 发表
……
你不会是只登录一下,然后把所有操作做完吧?
我们以前也是这么设计,后来抛弃了,改成每一个点都独立登录登出
一次登录然后所有操作全做完,这样脚本耦合太高了
又不是所有功能点都有执行顺序的,大部分功 ...
原帖由 rcpp 于 2008-9-2 16:58 发表
这样吧,你可以按我说的尝试一下
下面这段代码
Sub test1()
msgbox "test1"
End Sub
Sub test2()
msgbox "test2"
End Sub
你保存为一个.vbs
然后新建一个脚本,引入刚才的.vbs库
脚本代码写入
Ex ...
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |