原创日志转载请标明出处与连接! 大家的支持是我的动力!_______卢晨之 (luchenzhi@21cn.com/@hotmail.com)

【QTP编码小知识 一】

上一篇 / 下一篇  2008-09-25 21:50:35 / 个人分类:QTP

查看( 3190 ) / 评论( 21 )
QTP编码小知识 一】51Testing软件测试网2I*O5Du e.@
       在这里先给大家看看一下代码:51Testing软件测试网3ab.X,QII(N3C-AV
       if browser("百度一下").page("百度一下").webedit("百度一下").exist(0) and _
9{@'~C$O'|K(k:yG0         browser("百度一下").page("百度一下").webedit("百度一下").object.disabled and _
1B2P,Q2e7[AZT(Y0         browser("百度一下").page("百度一下").webedit("百度一下").object.visible then51Testing软件测试网z$Z'aX.[tK{2{
         browser("百度一下").page("百度一下").webedit("百度一下").click
N~a3@8WF1~Y0      end if
B2F[m h)F)v0
7m)k!dh*qZ0      自然,如果学过编程的人,会举得,恩,这样写很正常,但是没有怎么学过的人,他或者会写成这样
6vuN-j"N0       if browser("百度一下").page("百度一下").webedit("百度一下").exist(0) then51Testing软件测试网y'sC ~h+V
         if browser("百度一下").page("百度一下").webedit("百度一下").object.disabled then51Testing软件测试网#Kai:UeA1t6s-P:g
            if browser("百度一下").page("百度一下").webedit("百度一下").object.visible then51Testing软件测试网QQwlF
               browser("百度一下").page("百度一下").webedit("百度一下").click
Y](G:ITS$UNF6Op9h0            end if
2bY.c$UBc?p#B0          end if51Testing软件测试网 }#@qY(Wuy
      end if51Testing软件测试网r:|hX\GO+T
      51Testing软件测试网:`D$lY7V7p#Dt {G4h
      你学习过了编程,知道了,如果and的条件,如果有一个否,哪么就全部为否,自然是这个是逻辑条件的问题,你有学过,所以51Testing软件测试网y f.g#jtqV
   你写成2个and的方法去简略代码。但问题往往发生在这里,就和变魔术一样,大人看不出,但小孩就可以看出里面的问题,因为大人51Testing软件测试网;rF^v%Eg;m_
   的思想会被自己所谓的经验所左右。
,B]"z$O6O4UO0       这段代码的错误地方发生在那里,估计读到这里的人大部分已经猜到了,错误会发生在第1片中的2 3行!!你会问为什么?这应51Testing软件测试网V"\ P"K_T3{T
   该没错菜对的呀?不存在它就条不进行点击了么?但不存在时候,其实QTP会去判断and的其他2个条件,因为webedit的不存在,导致
*|G5} b|;} \ YI0   了object不能使用,所以在这里会出现报错的情况。51Testing软件测试网P8L KTgC)j_*K$rfi?
       首先说下QTP它在 逻辑判断这块的处理,有人说,如果and其中第一个条件是假的,哪么判断就直接跳出去了,对,没错,这个
2W-ou0A[0   是针对某些语言而言,但是QTP自己在使用VBS中,自己又加了点手脚,或者是VBS自己本身就存在这样的问题。51Testing软件测试网P[$BJ0]TWPvO,k
       这些也都是在实际编码过程中会发现的问题,大家慢慢积累,让自己的代码出现更少的BUG,哈哈,感觉好像在做白盒测试...嘻嘻。

TAG:

hero001的个人空间 hero001 发布于2008-09-26 09:25:20

逍遥客 xiaoyaoke 发布于2008-09-26 09:29:12
我一般在动手在代码之前先明确逻辑,最好画个逻辑流程图,逻辑清晰了再将流程图转化为代码。我感觉这样就可以避免LZ说得问题了。
假装不在 假装不在 发布于2008-09-26 09:44:05
回复 3# 的帖子
问题都会发生在不经意间的。哈哈,任何代码,无论你在编写前,准备得多详细,都会有漏洞存在的,因为人无完人,自然会有考虑不周到的地方。51Testing软件测试网LI$L b
J['ZsC

软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具5@&x:H3d{UL!PV s
另外,你说画流程图就不会出现我说的那个问题,其实我的那个问题是和流程没多大关系,是一些编码的习惯问题。因为没发生问题前,谁都没想到QTP会在and的第一个条件出错时候,他还会去看第2个是否正确。一般情况是没有考虑的。
最后一公里 rcpp 发布于2008-09-26 09:53:41
理想的做法是把这类会大量重复的逻辑封装起来
5w)eI6eY*F6H51Testing软件测试网丢给测试人员用的尽可能少有逻辑,弱化熟练度的差异造成脚本质量差异www.51testing.com`&tne7`,{"Uca0f%p0B
尽量让业务脚本中少出现判断,出错率也会下降
heqingbluesky发布于2008-09-26 10:58:01
知识普及,顶一下。
wslss007的个人空间 wslss007 发布于2008-09-26 11:27:07
呵呵,小知识,但积累起来就很重要了,谢谢。
meiguishijun的个人空间 meiguishijun 发布于2008-09-27 10:11:56
webedit
;^'PCu$Prw51Testing软件测试网要想学习像webedit是什么,如何用等等知识,需要学习哪方面的知识? 谢谢
假装不在 假装不在 发布于2008-09-27 11:04:16

QUOTE:

原帖由 meiguishijun 于 2008-9-27 10:11 发表
5A3pC m$qwww.51testing.comwebedit
ZU4kP
\mN51Testing软件测试网
要想学习像webedit是什么,如何用等等知识,需要学习哪方面的知识? 谢谢
软件测试 - 软件测试论坛 - 软件缺陷跟踪 - 软件配置工具 - 测试用例设计 - Web测试 -  自动化测试工具[hR`9xdR

aMYu
e&a*?7VB中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务
软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具}sK3\1?

MW
_W7\m
你不说还真不知道,其实是代码写错了,是webbutton
zy-cumt发布于2008-09-27 13:58:46
学习一下,顶,目前正在研究QTP的使用
Kevin藏宝库 hsjzfling 发布于2008-09-27 15:18:17

QUOTE:

原帖由 假装不在 于 2008-9-26 09:44 发表 软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具5]HQ8\ sb]
问题都会发生在不经意间的。哈哈,任何代码,无论你在编写前,准备得多详细,都会有漏洞存在的,因为人无完人,自然会有考虑不周到的地方。
_
W&UZ\6_51Testing软件测试网

"Y?vR0c9S1D s另外,你说画流程图就不会出现我说的那个问题,其实我的那个问题是和流 ...
a:O~:K9J9a0ZO软件测试 - 软件测试论坛 - 软件缺陷跟踪 - 软件配置工具 - 测试用例设计 - Web测试 -  自动化测试工具
^
Qe\
_4g8t3ev#Q ]X软件测试 - 软件测试论坛 - 软件缺陷跟踪 - 软件配置工具 - 测试用例设计 - Web测试 -  自动化测试工具
VBS和java, C等语言有非常大的区别,切不可拿这些编程经验往vbs上套,典型的经验主义~~~
9C\k.`F&II4p中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务不确定的就得抱怀疑的态度去尝试,实践出真知。
5w-?Oa n?+x中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务^m#y%D[A
当然,还有一点,也是最重要的一点——实践完了发上来share~~~
z93620104发布于2008-09-27 15:37:29
知识分享

]7t~Y Dp_-I x5Z软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具
经验共享
loho1968的个人空间 loho1968 发布于2008-09-27 15:40:00
其实,如果你的程序对有好的错误处理,第一种写法没有什么问题。
$nj0H)I,L
Mwww.51testing.com
试想一种情况:如果Button没有了,第2种写法同样要出错。如果没有错误处理,也同样的有问题。
假装不在 假装不在 发布于2008-09-27 16:16:01

QUOTE:

原帖由 loho1968 于 2008-9-27 15:40 发表
E'FG:u"Qx软件测试 - 软件测试论坛 - 软件缺陷跟踪 - 软件配置工具 - 测试用例设计 - Web测试 -  自动化测试工具其实,如果你的程序对有好的错误处理,第一种写法没有什么问题。
AB0D(| u#rc Z试想一种情况:如果Button没有了,第2种写法同样要出错。如果没有错误处理,也同样的有问题。
}/[h1N]P h4q#a\51Testing软件测试网中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务fC&KZ/ZW"C?&C|s

R%P{'O;\2h+g[        T"lO,Z这个就错了。中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务m-Gp$Fk!ow-xw&q#J
第一种写法,如果button没有了,哪么它还会去取button的属性,导致出错
\y+c9u$E软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具第二种,如果你使用判断exist(0),因为对象不存在而让它出错,哪么这个方法就没意义了。如果不存在,下面2个if就不用判断,同时错误也不会发生。
d8~;FF8? `51Testing软件测试网软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具[(_OTm4I!l0r9n
实践实践实践!
yxfqjj发布于2008-10-06 14:59:24
顶下~~~~~~~
猪猪的蓝色梦幻城堡 qicyt1812 发布于2008-10-07 17:23:56
呵呵,好久不来了,这里热火朝天啊
lvxjsheng0508发布于2008-10-09 18:08:18
之前研究过QTP,后来由于工作忙,就放下了.当时遇到了很多的问题,到现在还没有解决呢.
lery的个人空间 lery 发布于2009-09-09 22:57:43
还真没怎么去了解过VBS,只知道它可以干哪些活儿。。。。目前俺还停留在如何将项目赶紧搞好跑起来,离完善这种思想还很远 要继续努力啊
dabeixiong的个人空间 dabeixiong 发布于2009-09-09 23:46:14
第一个条件False时竟然还继续判断后面的条件...VBS这块是有古怪,LZ能发现果然够牛...我是这么试出来的...大家应该明白了吧...
JkJv#F&Kd$W+Zg中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务
9]A)?L8a]!_{8cwww.51testing.coma = 29Q^8s6U
|5Rd}2PZP

If a=3 And SecondCheck(a) Then%B+d c\2meFHL2w
        'If判断两个条件都为真时才输出OKwww.51testing.com ~-c,M0?&S:BI
        MsgBox "ok"
        L0dI*p Lc w }www.51testing.comEnd If软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具(M1G:l"{0_ ~|        jq

;w,JNP+`8w3S1L中国软件测试人的精神家园,介绍先进的软件测试工具、 软件测试流程和软件测试思想,定期举办软件测试沙龙,软件测试精品 资料下载,提供专业的软件测试培训服务'VBS如果对第二个条件进行检查则输出www.51testing.com%W3tX9lo/G,i?#Y@
Function SecondCheck(b)软件测试 - 软件测试论坛 - 软件缺陷跟踪 - 软件配置工具 - 测试用例设计 - Web测试 -  自动化测试工具m-t%H
b1\ eWi(o

        If b = 2 Then软件测试,软件测试论坛,软件测试方法,软件测试工具,软件测试流程,软件测试培训,软件测试外包,软件质量管理 ,软件缺陷跟踪,软件配置工具        J`T+H K:j"H
W&H

                MsgBox b51Testing软件测试网`GM5T1_ V3P
        End If51Testing软件测试网5S6Lx9nT`        M
End Function
要走就走100年 cswalkman 发布于2010-11-04 14:48:02

QUOTE:

第一个条件False时竟然还继续判断后面的条件...VBS这块是有古怪,LZ能发现果然够牛...我是这么试出来的...大 ...www.51testing.com+q;I
D{
M(C+^T

dabeixiong 发表于 2009-9-9 23:46
DC1B2{.s.}dUwww.51testing.com
EL5t({&rivB51Testing软件测试网
-D2Kj~!d    楼上
yunbin_7的个人空间 yunbin_7 发布于2010-11-04 17:20:14
学习了,谢谢楼主的分享啊。。。
我来说两句

(可选)

Open Toolbar