QTP使用中的陷阱
上一篇 / 下一篇 2012-09-12 09:08:06 / 个人分类:QTP
不要使用Reuable Action
3fBLV3An8L05[._ p5D5^#rV+l0 用Function,不要用Reusable Action。没有一种通用的语言里有Reusable Action这个概念。而且通过Function等一些标准的程序设计语言的元素,你能够实现任何Reusable Action可以实现的功能,而且更好,更快,更易于维护。51Testing软件测试网~ C\3\Yw
F}%KdQC0 以前我还不能肯定这一点。现在我能肯定的告诉你,因为有好几个QTP项目,上千个Testcases在支持我的观点。
.vF Qr I8vC051Testing软件测试网1JoQ]fp不要用Smart Identification51Testing软件测试网5odD}9L#y
51Testing软件测试网$c@ @%kj9L有一天,我发现一个奇怪的现象,一个testcase里某一个点击logout button的步骤运行非常慢,大概要20秒,但是最终它还能成功点击。不巧的是每一个testcase几乎都会点击这个button,所有我还必须把这 个问题找出来。最后发现这是因为button的name有了变化,但是因为Smart Identification是被enable,所以QTP会试图去适应这个变化,但是这个“适应”的效果非常不理想。51Testing软件测试网(Gbd!L%Vb9H]{ V6dO
51Testing软件测试网iNe:yc8r5d6U^+YTL我认为测试开发者应该完全控制对象的识别。把选择权交给对被测程序业务一无所知的工具是毫无道理的。我想不到任何使用SmartIdentification的原因。所以,从那之后,任何Testcase的Smart Identification我都禁止了。
q4x*`O\A,o g051Testing软件测试网/c9_T7fi不要在base目录里添加两个或以上目录51Testing软件测试网Ofbq2_n5ZP!e
g ^4Y"pI\0 Base目录是用来只能识别相对路径的目录。其配置在Menu: Tools->Options->Folders。我的建议是这里只放项目根目录。其他目录都不要放进去。51Testing软件测试网Ig[ A!F@
51Testing软件测试网Ca Z$Xk曾经,我接手了一个QTP项目。开始的时候我根本就不能把哪怕一个testcase成功跑起来。于是我去问起开发者,他告诉我需要把某一个特定的Reusable Action添加到"folders"里面。这种坑是在是让人哭笑不得。
1ZwZ6B5JW#v+S051Testing软件测试网Vc^TLFQTP作为一种工具,或许需要提供这种灵活性。但我们除非有必要,不要去用它。如果必须要用,也要很好的document这点。51Testing软件测试网'cn7CGO
!H'zB-mTPf0 不要用keyword view,而是提供业务逻辑封装层
&u8}"xF:kI0|L7z/ES*pJ\?0 如果你要让你的testcase简单,直接,那么你应该通过合理的抽象提供完善的业务逻辑封装层,它会使得你的testcase script读起来像testcase descript一样。这个时候,你根本不需要keyword view。