QTP脚本还可以这样写

上一篇 / 下一篇  2007-06-18 16:51:30 / 个人分类:QTP

文章出处:51testing博客 作者:阳阳 发布时间:2006-12-22

s z]2cW-Z.C9ln5u;E0    一提到自动化测试工具,给人印象最深的就是录制和回放了。录制测试人员的操作过程,再回放出来并多次运行,达到使用机器代替人来执行测试的效果。51Testing软件测试网:ABM7Nh

.UgzyX0    QTP采用的关键字驱动与专家视图的设计思想,不但可以自动生成代码,使初学者快速入门,更为高级测试人员提供了便利的编程界面,使其可以高效的完成自动化测试脚本,不用完全依赖于录制和回放过程。51Testing软件测试网crHf(I(y

51Testing软件测试网e%qK*ku8a

    下面就我个人的使用经验,简单谈谈如何不依赖于录制和回放来完成QTP脚本的。

(x\ [p,Y3e?0

jKbd6K+w(A}g2A;t0    操作步骤很简点,主要分为三步:51Testing软件测试网ac"jK#Z9k0v[
    第一步,维护对象库,添加必需的对象以及配置对象的属性。
(i9NE4wS0    第二步,在专家视图中,编写测试代码。
Lq [k{!z~0    第三步,运行并调试代码。

m jP'M%M4g0

7^G.Y(p3Z;F0    举个简单的例子。

0iI U7S9DRp ~0x051Testing软件测试网&`R{9I!h9EV

    以在51testing的网站上搜索关键字QTP为例。

?E-I O,}g'f*y_0

jEtP)y7S`8Uz9Z0    首先,打开QTP,点击工具栏上的Object Repository按钮,打开对象库维护界面。如图一(图片暂时上传不了)

\"l`r3i$f9X o(f;?051Testing软件测试网 v8n7D2~7ZUU

51Testing软件测试网\H!c?*o&BwU
    点击Add Objects按钮,添加站内搜索的文本框以及后面的查询按钮对象,如图二

s SSCuy)TC+[Ew4`051Testing软件测试网8O^sl#C8Sj0V

    然后,在专家视图中,手动输入如下代码:51Testing软件测试网1n*^5E.Yc4@'D
    Browser("软件测试
专业网站:51Testing软件测试网").Page("软件测试专业网站:51Testing软件测试网").WebEdit("keyword").Set "QTP"
*j)yD%F#]fN0    Browser("软件测试专业网站:51Testing软件测试网").Page("软件测试专业网站:51Testing软件测试网").Image("GO").Click

NQ/T!p B_!w0

mK7ND|.G];q B(e,Nm0    由于录制的过程中,待测试的页面是已经打开的,所以为了保证这个测试的前提条件,在前面添加打开IE的语句。
&oB}z)?o0    SystemUtil.Run "iexplore.exe","
"

c1V Z)n'u$?9{0

%l L7{"_"x3ci,p^h8J0    这样,使用QTP的自动化测试脚本就完成了,运行看看是否通过?结果是一次性通过,而且没有其他需要修改的地方了。51Testing软件测试网"xBZD#ytw$R

/M0T8Bi;ry3O ?~-@0    还可以在此基础上增加关闭所有IE的函数,增加验证点等等使脚本更加健壮和完整,这里就不赘述了。51Testing软件测试网!G%YHv{%l L R

51Testing软件测试网)XzK yUh

 

2kjR2{dD051Testing软件测试网p,j.{9p A u%ulp Q~

    如果使用录制和回放的方法来开发脚本,可能存在以下几个问题:51Testing软件测试网S1Vkm`M H"F+E"{,T&x

51Testing软件测试网)[RVRA;bTr

    一个是自动生成的代码有一些是没有用的,有时候反而会影响代码的质量;51Testing软件测试网p`1h8x3y

51Testing软件测试网1u1UD"x,p_

    一个是通过录制生成的代码,健壮性都不好,如果要使脚本在无人值守的情况下顺畅地运行,还是需要手动修改的。比如在对象找不到的地方增加判断对象是否存在,再继续下一步操作等等;51Testing软件测试网"Ih#z)Gonc

51Testing软件测试网5o#|1t7ly1h j[/_@

    再有,就是录制的过程中,会使你的对象库中多出来一些脚本正常运行以外的多余的对象,给维护对象库也增加了工作量。

$t]%Ct-A&d J#X)i051Testing软件测试网6m'\#K rC.D(`L

    比较这两种方法,总体感觉直接添加对象并编写代码的方式,可以弥补录制回放过程的不足,节省了脚本的开发时间,减少了对象库的维护工作量,大大提高了自动化测试脚本的开发效率。

;O~/Ss"f051Testing软件测试网;e&a8SG8? [1U u C4m6E

    当然,能够这样做是有前提的。
'G ^(n N&rj\M@0    第一,必须对待测试的系统非常熟悉。即开始写自动化脚本之前就能从大脑中反映出每一个步骤中需要的对象及操作。
bIgC)O4r(I4{8_7u H0    第二,对QTP的工作原理以及工具本身非常熟悉。能够有办法解决脚本运行时出现的任何问题。
\v K"bJ'\1oo0    第三,有良好的编程基础尤其是针对VBscrīpt语言的。如果对于代码的结构、可维护性都把握很好的话,那么效果就会更加明显了。
51Testing软件测试网s2Jf8^W

51Testing软件测试网SqJ1M:_]h

    补充一点,使用这种方法,你的对象库的设计一定要到位,保证在写代码的时候,很容易的找到你要操作的对象,否则就得不偿失了。51Testing软件测试网2Q-A7o6U*c9hh9x8u ? p

z*Z+Wp!d#D I0

TAG: QTP

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2020-10-16  
    123
45678910
11121314151617
18192021222324
25262728293031

我的存档

数据统计

  • 访问量: 5554
  • 日志数: 16
  • 建立时间: 2007-06-12
  • 更新时间: 2007-06-21

RSS订阅

Open Toolbar