|
【QTP编码小知识 一】
在这里先给大家看看一下代码:
if browser("百度一下").page("百度一下").webbutton("百度一下").exist(0) and _
browser("百度一下").page("百度一下").webbutton("百度一下").object.disabled and _
browser("百度一下").page("百度一下").webbutton("百度一下").object.visible then
browser("百度一下").page("百度一下").webbutton("百度一下").click
end if
自然,如果学过编程的人,会觉得,恩,这样写很正常,但是没有怎么学过的人,他或者会写成这样
if browser("百度一下").page("百度一下").webbutton("百度一下").exist(0) then
if browser("百度一下").page("百度一下").webbutton("百度一下").object.disabled then
if browser("百度一下").page("百度一下").webbutton("百度一下").object.visible then
browser("百度一下").page("百度一下").webbutton("百度一下").click
end if
end if
end if
你学习过了编程,知道了,如果and的条件,如果有一个否,哪么就全部为否,自然是这个是逻辑条件的问题,你有学过,所以
你写成2个and的方法去简略代码。但问题往往发生在这里,就和变魔术一样,大人看不出,但小孩就可以看出里面的问题,因为大人
的思想会被自己所谓的经验所左右。
这段代码的错误地方发生在那里,估计读到这里的人大部分已经猜到了,错误会发生在第1片中的2 3行!!你会问为什么?这应
该没错菜对的呀?不存在它就条不进行点击了么?但不存在时候,其实QTP会去判断and的其他2个条件,因为webbutton的不存在,导致
了object不能使用,所以在这里会出现报错的情况。
首先说下QTP它在 逻辑判断这块的处理,有人说,如果and其中第一个条件是假的,哪么判断就直接跳出去了,对,没错,这个
是针对某些语言而言,但是QTP自己在使用VBS中,自己又加了点手脚,或者是VBS自己本身就存在这样的问题。
这些也都是在实际编码过程中会发现的问题,大家慢慢积累,让自己的代码出现更少的BUG,哈哈,感觉好像在做白盒测试。
[ 本帖最后由 假装不在 于 2008-9-27 11:04 编辑 ] |
|