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主要用它来执行重复的手 ...
随机推荐
- Linux系统下sendmail发送邮件失败的问题
问题是:安装完sendmail,启动服务后,发送邮件第一次发送成功,后面再次无论怎么发送都不行,换邮箱也不行.在确认我的邮件发送格式正确无误后,想到查看邮件发送日志: [root@backu ...
- sublimetext2 中运行Python提示EOFError: EOF when reading a line
解决方法:一.安装sublimeREPL 打开sublimeText2按CTRL+SHIFT+P,英文版输入:install后选择Package Control: Install Package ...
- linux 标准io笔记
三种缓冲 1.全缓冲:在缓冲区写满时输出到指定的输出端. 比如对磁盘上的文件进行读写通常是全缓冲的. 2.行缓冲:在遇到'\n'时输出到指定的输出端. 比如标准输入和标准输出就是行缓冲, 回车后就会进 ...
- FastLoad错误 — SELECT Failed. 2652
SELECT * FROM teradata_education. emp_fl; 在做查询时碰到2652错误. SELECT Failed. 2652: Operation not ...
- Mysql 数据分组取某字段值所有最大的记录行
需求: 表中同一个uid(用户)拥有多条游戏等级记录,现需要取所有用户最高等级(level)的那一条数据,且时间(time)越早排越前.这是典型的排名表 +------+-------+------- ...
- python之字串
python字串声明: 单引('), 双引("), 三引(''' 或 """"). python字串前缀: r表示原生字串, 字串内容: (1)不能包 ...
- floor舍去法取整
$int = 0.99999999999999999; echo floor($int); // returns 1 $int = 0.9999999999999999; echo floor($in ...
- 你用什么方法检查 PHP 脚本的执行效率(通常是脚本执行时间)和数据库 SQL 的效率(通常是数据库 Query 时间), 并定位和分析脚本执行和数据库查询的瓶颈所在?
php: 一般是在你要检查的代码开头记录一个时间,结尾记录一个时间.取差值, 数据库SQL的效率 sql的explain(mysql),启用slow query log记录慢查询. 通常还要 ...
- SOLVED: GATT callback fails to register
I finally figured this problem out. The device I am using is a Samsung Galaxy S4 and the actual prob ...
- error: format not a string literal and no format arguments [-Werror=format-security]
You can put this in your Application.mk to disable treating those warnings as errors: APP_CFLAGS += ...