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主要用它来执行重复的手 ...
随机推荐
- Java生成唯一GUID UUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...
- Struct是干什么的
对于结构(Struct)这一看起来比较特殊的东西(用的比较少,只好用东西来形容了),真心用得少,只有在被问起的时候,才会想起,看看它到底是什么吧. 先给一个链接:http://www.cnblogs. ...
- Python脚本控制的WebDriver 常用操作 <十六> 处理对话框
下面将使用webdriver来处理一些页面跳出的对话框事件 测试用例场景 页面上弹出的对话框是自动化测试经常会遇到的一个问题.前端框架的对话框经常是div形式的,下面是一些常见的对话框操作事件: 打开 ...
- 2014年互联网IT待遇(包括国内民企、外企、金融机构)
一.民企 1. 百度 13k*14.6,special 14~17k*14.6 开发类 13K*14.6 (2014) 测试类.前端类 12K*14.6 (2014) 2. 腾讯 11.5k*16,s ...
- glibc学习介绍篇
C语言自身并没有提供IO,内存管理,字符串操作等类似的机制.作为弥补,C语言有一个标准库帮助C语言实现这些机制.我们在编译C程序的时候基本上都需要链接到这些库文件. GNU C Library定义IS ...
- 一致性hash应用到redis
理解分布式存储的本质 有一个经典的实践经验: 数(值)据大了, 什么都是问题! 如果要求128B或更大数值计算, 哪么四则运算会是个大问题! 如果要求128T或更大日志存储, 哪么文件存储会是个大问题 ...
- TCP相关知识
1. TCP与TCP/IP协议族 TCP是TCP/IP协议族中运输层的一个协议.TCP/IP,即传输控制协议/网间协议,是一个工业标准的协议集,包含了运输层.网络层和链路层的协议,其结构如下图所示:其 ...
- Sqlyog增加试用期
win+r->输入regedit->进入注册表 在计算机->HKEY_CURRENT_USER->Software->{906D6D9F-AB51-429F……}中删除I ...
- Eclipse 3.7(代号Indigo) 中文字体太小解决办法(转)
升级到3.7Eclipse最直观的反映就是,中文怎么那么小啊---- 相当不方便. 其实这是Eclipse的默认字体换了,以前的一直是Courier New,现在修改字体也找不到了,算了不找了. 这次 ...
- 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。
// test14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...