这两天一直在琢磨自动化测试,自动化测试,其实与单元测试有一些相同之处,单元测试的目的也是可以一次写,多次运行,对于测试驱动及后期维护真是有非常多的好处,用自动化测试工具也是如何,主要目的是为了回归测试。单元测试的时候,我们要先准备数据,再测试,最后再进行数据清理,自动化测试也是如此,大家千万别觉得自动化测试就是开个测试工具,然后就不用动手了之类的云云。更多的准备知识,就暂时不需要了。
    工具的选择,看当前主流的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试用感想一(自动化测试)的更多相关文章

  1. 自动化测试工具QTP和SilkTest横向PK(转)

    转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...

  2. 老李分享:android app自动化测试工具合集

    老李分享:android app自动化测试工具合集   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...

  3. UI自动化测试的那些事

    互联网产品的迭代速度远高于传统软件,尤其是移动APP不但更新频繁,还需要在不同硬件.系统版本的环境下进行大量兼容测试,这就给传统测试方法和测试工具带来了巨大挑战.为满足产品敏捷开发.快速迭代的需求,自 ...

  4. Qtp自动测试工具

    QTP是基于GUI界面的自动化测试工具,用于系统的功能测试. QTP录制的是鼠标和键盘的消息.QTP录制回放时基于windows操作系统的消息机制.QTP在录制时监听应用程序的消息,监听到之后把消息放 ...

  5. 自动测试工具(Jmeter,qtp等)

     loadrunner.Selenium.QTP三者区别?    Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试.  Selenium是开源的web自动测试工具,免费 ...

  6. 《Python自动化测试九章经》

    Python是当前非常流行的一门编程语言,它除了在人工智能.数据处理.Web开发.网络爬虫等领域得到广泛使用之外,他也非常适合软件测试人员使用,但是,对于刚入行的测试小白来说,并不知道学习Python ...

  7. QTP——功能测试

    一.前言(课设目的及内容) QTP是quicktest Professional的简称,是一种自动测试工具.使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本.因此 ...

  8. Beta冲刺提交-星期五

    Beta冲刺提交-星期五 这个作业属于哪个课程 软件工程 这个作业要求在哪里 <作业要求的链接> 团队名称 唱跳RAP编程 这个作业的目标 1.进行每日例会,每个成员汇报自己今天完成    ...

  9. 测试_QTP简介

    一:什么是QTP? QTP(QuickTest Professional)是一款自动化测试工具,自动化测试就是利用计算机模拟人进行测试,也就是开发一套代码测试另一套代码. QTP主要用它来执行重复的手 ...

随机推荐

  1. 注意:php5.4删除了session_unregister函数

    在php5.4版本中,应经删除了session_unregister该函数.朋友们注意一下 前几天安装了dedecms系统,当在后台安全退出的时候,后台出现空白,先前只分析其他功能去了,也没太注意安全 ...

  2. PHP环境搭建(Windows8.1+IIS8.5+PHP5.6+PHPStorm)

    第一次接触php是在2014-5月份左右,当时是自己的主攻方向是C#,对php比较排斥, 其中很多一部分原因,就是PHP的断点调试一直无法配置成功,用echo打印日志的方式排错,使得自己对php心生怨 ...

  3. Java String.split()注意点

    //String[] aa = "aaa|bbb|ccc".split("|");//错误 String[] aa = "aaa|bbb|ccc&qu ...

  4. return *this和return this的区别

    别跟我说, return *this返回当前对象, return this返回当前对象的地址(指向当前对象的指针). 正确答案为:return *this返回的是当前对象的克隆(当然, 这里仅考虑返回 ...

  5. 【正则】精通JS正则表达式,没消化 信息量太大,好文

    http://www.jb51.net/article/25313.htm 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用 ...

  6. JDBC 学习笔记(二)—— 大数据+存储过程+批处理+事务管理

    本文目录:       1.使用JDBC处理大数据        2.使用JDBC处理大文本        3.使用JDBC处理二进制数据        4.Oracle中大数据处理        5 ...

  7. Backbone.Events—纯净MVC框架的双向绑定基石

    Backbone.Events-纯净MVC框架的双向绑定基石 为什么Backbone是纯净MVC? 在这个大前端时代,各路MV*框架如雨后春笋搬涌现出来,在infoQ上有一篇 12种JavaScrip ...

  8. asp.net 中给gridview添加自动序号

    第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了. 代码如下: <asp:TemplateField HeaderText="序号&quo ...

  9. sqlserver 2008r2 表分区拆分问题

    问题描述: 对tab1表实行自动天分区,每天通过sqlserver代理-作业00:00点自动生成分区: 因有次停了数据库服务,sqlserver 代理服务忘记开启,导致当天00:00没有生成新分区: ...

  10. Eclipse plugin插件开发 NoClassDefFoundError

    Eclipse的每一个plugin都有属于自己的类加载器,这是OSGI架构的基础,每一个plugin项目都是一个bundle,独立运行在各自的运行环境里面,这就造成了开发时和运行时的不同. Eclip ...