QTP之delphi试用感想一(自动化测试)
这两天一直在琢磨自动化测试,自动化测试,其实与单元测试有一些相同之处,单元测试的目的也是可以一次写,多次运行,对于测试驱动及后期维护真是有非常多的好处,用自动化测试工具也是如何,主要目的是为了回归测试。单元测试的时候,我们要先准备数据,再测试,最后再进行数据清理,自动化测试也是如此,大家千万别觉得自动化测试就是开个测试工具,然后就不用动手了之类的云云。更多的准备知识,就暂时不需要了。
    工具的选择,看当前主流的C/S都是MI公司,估计WR(winrunner)和QTP(QUICK TEST PROFESSIONAL)用的人多一点。于是就一直忙着对这两个工具进行比较,因为一直是用DELPHI进行编程,所以这些工具对于DELPHI的支持就是首选的,比来比去,觉得可能QTP会是MI公司以后的主打产品,于是主要的方向还是针对于QTP了,但本人其实是喜欢用C脚本,也很喜欢WR的自动学习模式。
    在选择版本上,我豪不犹豫地选择了QTP9,因为是正式版(指的不是测试版,别和正版混在一起了),所以我更喜欢用最高版本的,这样,不致于使自己的技术落后很多。当然,我们用的只能是破解之后的了,QTP9的破解目前没有,幸好可以先用QTP8.2,破解后再装QTP9的试用版,选择升级安装,这样就变成了QTP9的破解版了。这一切的一切,都可以在www.17testing.com及 www.51testing.com上找到。除了装这些,你还得安装一个delphi的插件,否则就很麻烦了,这插件在网站上也可以看到。如果不装这个插件,估计就会气死了。这两个网站上还有几本中文的QTP方面的书,也是挺不错的,如果大家不知道如何取舍,可以给我发邮件,估计等收到你邮件的时候,我已经收集了不少这方面的书了,我可以邮给你们 qiubole@163.com。
在使用QTP之前,建议先看看QTP用户指南的目录,如果你有精力,最好还是看看它的一个简单的Tutorial,这个有中文版的,废话不多说了,要是你那两本都看完了,估计你也就不会看我这个文档了
运行QTP,记得选上DELPHI的插件,打开自己用DELPHI写的一个程序,就可以开始我们自动化测试的第一步了。我这个DELPHI写的程序很简单,就是做X+Y=Z这样的事。放了两个EDIT,其中一个是TEDIT,另一个是我继续TEDIT后的一个TQEDIT,只是简单的继承,啥代码也没有,然后,一个BUTTON,一个LABEL。
在QTP里,先进行RECORD,RECORD有几种方式,一种是选择当前已经打开的应用程序,另一种是可以自己设置在RECORD的时候,由QTP打开程序。
好了,正式录了,把集点切换到我的程序中,然后在第一个EDIT上输1,第二个EDIT上输1,按一下BUTTON,OK了,STOP。
先来看看我们录制的成果吧,在QTP中,已经帮我们生成了代码,也生成了好多步骤。先检验一下先,进行RUN。把DELPHI程序关了,再开。运行。。。。。。。。怎么回事,一运行就报错,找不到对象。这个时候,我们先STOP一下。其实这是因为我自己写的EDIT的类QTP不认识,一个东西它不认识,它就会用很奇怪的方式来标识(或许你在想,该死的,为啥,不用座标来进行标识,其实还真可以这样)我们可以有办法来解决它。于是我们告诉QTP,用哪几个属性来标识它,在keyword view中,找到那个EDIT所在的条目,点右键,有一个object propertys,看一下里面的条目,估计是用window
id来进行标识的,把它删除了,增加一个delphiname的条目,这个条目的内容,其实就是DELPHI中控件的NAME。这个NAME的值,在运行程序的时候,我们怎么得到呢,QTP早就帮我们想到了,在QTP中,有一个工具,做SPY,和VS工具里的SPY有点类型,我们用这个SPY来找到我们程序中那个EDIT的delphiname,填上去就OK了。再继续运行,OK了。于是你可能会想,要是窗体上有好多这种EDIT,我改起来岂不是要累死了,其实也有办法,我们可以给我们这个控件增加一个针对WIN控件的映射,找到TOOLS下的OBJECT IDENTIFICATION, 选择standard windows,增加一个user-defined控件map to: single edit然后在mandatory properties里,增加一个delphiname的项,以后录制的时候,就会把DELPHINAME给录进去。
(待续)
请大家从以下地址进行下载
QTP,WR,LR的下载: 
[url]http://www.tomore.com/catalog/3_25/4.htm[/url] 
官方下载: 
[url]http://downloads.mercury.com/cgi-bin/portal/download/index.jsp[/url]
QTP 9.2
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp92.zip[/url]
QTP相关的插件 
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp92-net-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp-java-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp92-web-services.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-visualage-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-peoplesoft-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-stingray-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP82-sap-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/qtp82-oracle-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP80-te-addin.zip[/url] 
[url]http://esd.mercury.com/akdlm/trial/qtp/QTP80-siebel-addin.zip[/url] 
[url]http://support.mercury.com/download/QuickTestProfessional/MI/3308867234-39456-qtp82_delphiaddinbeta1.zip[/url]
http://www.cnblogs.com/qiubole/archive/2007/01/23/627612.html
QTP之delphi试用感想一(自动化测试)的更多相关文章
- 自动化测试工具QTP和SilkTest横向PK(转)
		
转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...
 - 老李分享:android app自动化测试工具合集
		
老李分享:android app自动化测试工具合集 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...
 - UI自动化测试的那些事
		
互联网产品的迭代速度远高于传统软件,尤其是移动APP不但更新频繁,还需要在不同硬件.系统版本的环境下进行大量兼容测试,这就给传统测试方法和测试工具带来了巨大挑战.为满足产品敏捷开发.快速迭代的需求,自 ...
 - Qtp自动测试工具
		
QTP是基于GUI界面的自动化测试工具,用于系统的功能测试. QTP录制的是鼠标和键盘的消息.QTP录制回放时基于windows操作系统的消息机制.QTP在录制时监听应用程序的消息,监听到之后把消息放 ...
 - 自动测试工具(Jmeter,qtp等)
		
loadrunner.Selenium.QTP三者区别? Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试. Selenium是开源的web自动测试工具,免费 ...
 - 《Python自动化测试九章经》
		
Python是当前非常流行的一门编程语言,它除了在人工智能.数据处理.Web开发.网络爬虫等领域得到广泛使用之外,他也非常适合软件测试人员使用,但是,对于刚入行的测试小白来说,并不知道学习Python ...
 - QTP——功能测试
		
一.前言(课设目的及内容) QTP是quicktest Professional的简称,是一种自动测试工具.使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本.因此 ...
 - Beta冲刺提交-星期五
		
Beta冲刺提交-星期五 这个作业属于哪个课程 软件工程 这个作业要求在哪里 <作业要求的链接> 团队名称 唱跳RAP编程 这个作业的目标 1.进行每日例会,每个成员汇报自己今天完成 ...
 - 测试_QTP简介
		
一:什么是QTP? QTP(QuickTest Professional)是一款自动化测试工具,自动化测试就是利用计算机模拟人进行测试,也就是开发一套代码测试另一套代码. QTP主要用它来执行重复的手 ...
 
随机推荐
- C#项目连接数据库的配置
			
一:C# 连接SQL数据库 1.用SqlServer数据库,windows身份验证模式<add name="TestSqlSqever" providerName=&q ...
 - SQL JOB
			
数据库同步是一种比较常用的功能.以下结合我自己的体会整理的,如果有理解不完全或者有误的地方望大牛不理赐教.下面介绍的就是数据库同步的两种方式: 1.SQL JOB的方式 sql Job的方式同步数据库 ...
 - Python-Day4 Python基础进阶之生成器/迭代器/装饰器/Json & pickle 数据序列化
			
一.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面 ...
 - 深入剖析——float之个人见解
			
浮动的原本作用仅仅是为了实现文字的环绕效果. 以下分别是html与css代码,显示效果如下图.因为两个div使用了float浮动属性,所以脱离了标准文档流.让父元素撑开高度,我们需要清除浮动. < ...
 - myeclipse配置下tomcat debug启动很无比慢
			
myeclipse配置下tomcat debug启动很无比慢,而run启动很快今天照常使用MyEclipse 6.5 Blue Edition进行开发,但是却遇到一个怪问题.在MyEclipse环境下 ...
 - Oralce常用维护命令
			
1. sqlplus远程连接 方式一:简易连接,不用进行网络配置,其实就是tnsname.ora文件,但只支持oracle10G以上.命令:sqlplus 用户名/密码@ip地址[:端口]/servi ...
 - user-agent中的mozilla
			
ie说我等不急了,所以user-agent增加 mozilla标识 这篇文章极其好玩:http://nonfu.me/p/8262.html
 - 从零开始学ios开发(二十):Application Settings and User Defaults(下)
			
在上一篇的学习中,我们知道了如何为一个App添加它的Settings设置项,在Settings设置项中我们可以添加哪些类型的控件,这些控件都是通过一个plist来进行管理的,我们只需对plist进行修 ...
 - 将日志搬家到自己的站点 http://nowhereman.cn/
			
个人站点同步地址 : http://nowhereman.cn/
 - .NET中class和struct的区别
			
1.引言 提起class和struct,我们首先的感觉是语法几乎相同,待遇却天壤之别.历史将接力棒由面向过程编程传到面向对象编程,class和struct也背负着各自的命运前行.在我认为,struct ...