浅谈QTP描述性编程(含实例)
来源:互联网 发布:gpa加权平均分算法 编辑:程序博客网 时间:2024/05/16 06:00
测试空间旗下大头针出品
一开始接触QTP太强了,可以录制回放啊。可以像使用录音机一样,可以一遍又一遍的回放录音内容。有了QTP,我们就不用一遍又一遍的测试了。
但慢慢发现,QTP如果一遍又一遍的运行程序,需要一个对象仓库的东东。在录制的时候,QTP将测试过程中所使用到得软件对象都录制到对象仓库中。再我们使用的时候,只需要给出对象的名称,有这个名称就可以在对象仓库中找到该对象,自然而然可以操作这个对象。但有一个问题,就是对象仓库中的对象必须和正在运行的软件的对象一摸一样才行。
但实际在软件开发过程中,经常要添加新功能,完善已经实现的功能。在这个过程,新版本发布时软件功能变了,可能有的时候只是位置变了。这种情况下可恶的事情发生了,QTP就不认识新发布的软件。最坏的话,以前录制的脚本需要重新录制。太悲惨了。
其实下面这个例子特别和对象仓库识别对象的过程特别像:
假设你认识一个好朋友名字假设叫小i哈,我们脑子里面会有这个朋友面貌、性格、身高等。过了一段时间,这个小i对自己各个方面都非常不满意,就去全身全方位整容了。面貌变了,变漂亮了;性格也变了,变温柔;,身高也变了,变高了。这个时候,我们再和小i面对面的时候,我们把自己的大脑记忆拿出来,和站在面前的小i对比,发现我们已经不认识她了。我们就不敢过去拉她手了。
这里面有个类比关系:
小i可以认为是被测试的软件。
我们的大脑记忆可以认为是对象仓库。
整容前的小i可以认为是被测试软件的旧版本。
整容后的小i可以认为是被测试软件的新版本。
拉手可以看成对被测软件的操作
我们人是如此,所以QTP也是如此。所以我们大脑需要重新存储小i的面貌、性格、身高。哎又占了我们很多的大脑空间,悲惨啊。
哎,这让我想起了前段时间看过一部韩国电影《美女的烦恼》,一个唱歌超好听的丑女+肥女,为了追求自己的幸福,所以做了全面的整容,整容后变得漂亮无比。有一次进了公安局,让她好朋友保释,最要好朋友进了公安局竟然没有认出她来。最后这个整容后的美女把自己的身份证拿了出来给朋友看,最终朋友才相信了眼前的事实。
对啊,有标示人的身份可以用身份证啊。无论朋友样貌、身高、性格怎么变,身份证暂时是不会变的。那以后我们可以少浪费点脑细胞,别记住朋友面貌了,别记住她前天穿了蓝色的衣服,昨天换了黑色的裤子,今天带了绿色的帽子。都别记了。朋友见面,亮出身份证就可以了。
QTP发现对象仓库这种机制的不灵活,所以自己增加了另外一种比较灵活的方法。称之为描述性编程。
通过描述性的编程,只要通过能够标示软件对象的关键属性(类似前面所说的身份证识别朋友的方法),就可以知道是操纵的那个对象,然后就可以对该对象操作了。
下面举了描述性编程一个例子,使用QTP实现对计算器1-10的累加和,并把结果输出到Excel表中。
注意:本例子直接拷贝到QTP中就可以运行,但只适用简体中文版windows系统
注意:例子比较简单,所以就没写注释。只是抛砖引玉。
Set WshShell=createobject("Wscript.shell")
Set Wshexec=Wshshell.Exec("%SystemRoot%/system32/calc.exe")
Set desc=description.Create
Dim i
For i=1 to 10
esc("text").value=i
If desc("text").value=10 Then
Window("text:=计算器").WinButton("text:=1").Click
desc("text").value=i-10
Window("text:=计算器").WinButton(desc).Click
else
Window("text:=计算器").WinButton(desc).Click
End If
Window("text:=计算器").WinButton("window id:=92").Click
Next
sum=Window("text:=计算器").WinButton("window id:=403").ToString
time1=Now()
Variable=DataTable.AddSheet ("MySheet").AddParameter(sum,time1)
wait 10
Wshexec.Terminate()
- 浅谈QTP描述性编程(含实例)
- QTP-描述性编程
- QTP描述性编程
- QTP描述性编程
- QTP描述性编程
- QTP---描述性编程
- QTP-描述性编程
- QTP - 描述性编程
- 在QTP中使用描述性编程(实例)
- 在QTP中使用描述性编程(实例)
- QTP描述性编程简介与Java CS程序实例
- qtp中描述性编程
- QTP中的描述性编程
- QTP中的描述性编程
- QTP描述性编程介绍
- 在QTP中使用描述性编程
- QTP描述性编程的妙用
- QTP中使用描述性编程
- 小公司如何实施配置管理
- 面向对象设计的11原则
- 读书笔记模型驱动与属性驱动
- 六十一条面向对象分析设计的经验原则
- 博客搬家了
- 浅谈QTP描述性编程(含实例)
- Javascript的IE和Firefox兼容性汇编
- Head First C# 中文版 第10章 异常处理 page464
- 毕业奋斗八年成功后有感,给年轻人的10个忠告
- 杜绝一切低效率的工作
- 偶然看到的,35岁之前对职业生涯有帮助的10条,简短但颇有启发意义
- 人生致命的八个经典问题
- C/C++语法知识:typedef struct 用法 作用
- 对比:Linux和Windows系统线程间