qtp9.2测试java_QTP的使用举例说明

news/2024/7/7 19:51:53

1.QTP介绍

QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

MercuryQuickTest企业级自动化测试工具! 目前已经被惠普收购,正式名字为HP QuickTest Professional software ,最新的版本为HPQuickTest Professional 11.0

HPQuickTest Professional提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。

QTP进行功能测试的测试流程 [制定测试计划]——>[创建测试脚本]——>[增强测试脚本功能]——>[运行测试]——>[分析测试结果] 大致五个步骤。

2.QTP9.2与QTP10的优缺点QTP9.2没有自带插件的安装,只默认安装了ActiveX、web、Visual Basic。

QTP9.2录制的窗体对象通过window id进行识别,每次回放,因为windows id发生变化,会导致不能找到之前录制的对象,会提示“对象无法识别”。(解决此问题,可以手动更改录制对象的属性,不让对象以windows id识别,可以更改为x,y坐标或者对象名称)。

由于系统包含大量的.NET或java等等插件,所以录制后的操作都是以坐标在进行记录,回放的时候也是根据坐标在读取并回放。如果项目界面变动或环境分辨率变动,之前录制的脚本将找不到对象。所以可移植性非常差。

为解决上述基本的问题,所以我们将不再考虑使用QTP9.2,将对QTP10进行学习和使用。QTP10不仅自带了ActiveX、web、Visual Basic插件,还包含.NET插件、java插件、oracle插件、PeopleSoft插件、WebService插件等等。

QTP10不涉及windows id问题,它可以根据我们选择的插件,自动识别对象,通过对象的属性或方法进行脚本录制。由于QTP10是根据对象的属性和方法进行脚本录制,所以移植性强,即使项目位置变动,QTP始终能通过对象的属性找到该对象。

QTP10提供的插件有限,如果碰到一些不被支持的.NET控件时,录制下来的脚本将会以低级鼠标和键盘操作活动反映出来。这时可以通过编码方式使用扩展模块对.NET控件进行支持。

3.QTP操作说明

3.1界面说明

7bf0a5be30cd87daab46880dbf19c5a6.png

3.2操作步骤

1.根据被测试系统加载插件(下面以Mesis系统为例)。双击打开QTP工具,进入QTP-Add-in Manager窗口选择插件。MESIS包括.NET插件和BCGSoft插件。勾选上.NET插件和WEB插件,点击“OK”。由于不包含BCGSoft插件,所以需要使用C#对QTP的.NET插件BCGSoft进行扩展。

(注意:如果要测试.NET Web Forms的控件,那么需要把.NET和Web都选上。如果只选择.NET插件,单击“OK”,会提示必须选择WEB插件。)

01ab507c72d46a2332cddeb0896c03b9.png

2.设置录制系统。 B/S选择web选项卡,C/S选择windowsApplications选项卡。选择windows Applications选项卡,勾选上第二个radiobutton,选择第一个和第三个复选框,添加要录制的系统。

bfdf5ff079d0b4cd913de0f2a0dc3b9c.png

28f722d648842d370b5e08c2b17d704a.png

3.进入录制界面,点击“record”开始录制。

4.按照系统执行过程,录制脚本,录制完成之后点击“stop”停止录制。录制完成之后的界面如下图所示:

a5cc60076f480ac4788689ac0f8afeed.png

5.点击“Run”,回放录制的脚本。回放结束后,会自动打开Test Results结果。

c892a98711e429e7b5a28a9ff1bec996.png

4.注意事项

1.假如在执行QTP时,未开启【Add-in Manager】,请点选【Tools】>【Options】,在【General】页签勾选【Display Add-in Manager on startup】,下次执行,就可以看到【Add-in Manager】的窗口了。

ecdad6a076a3393db4f98e27b664f3c2.png

5.使用C#扩展.NET插件

第一步:安装Custom Server模板。在QTP的安装目录下找到“InstWizard.msi”的安装文件,用于安装Custom Server模板。可以发现在C#中多了一个名为“QuickTest CustomServer”的模板。

255220ad2b1f1db8a8369b6e20db20e6.png

第二步:建立.NET控件的测试扩展项目。

(1)在上图中,选择“QuictTest CustomServer”,输入项目名和存储位置后,单击“确定”按钮,出现下图界面,在“Server Class name”中输入扩展控件的名称,例如“ToolBarCustomerServer”,选中“Customize Record Process”和“Customize Run process”,接受其他默认设置。

8600255a81999d9cdb16de36b83bb9c0.png

(2)在“Customized Control type”中输入“BCGSoft.ControlBar.ToolBar”,然后点击“finish”按钮,完成设置。

dbf5401fbb919fec283eb2b0cf4d24cd.png

第三步:实现控件录制逻辑。监听ToolBar点击事件,代码如下。

b30212f9377e8fce46f1306f08066832.png

第四步:回放录制的脚本,代码如下。

55b571969fc93784fe0323e054cfd0f5.png

第五步:将测试扩展项目中的Configuration.XML文件的内容复制到QTP/dat/SwfConfig.xml文件里。

7fe1779d911bf74bf82dff6e5e60ea5a.png

第六步:使用QTP进行系统录制。录制脚本如下图,可以看到目前录制的脚本大部门是根据对象在进行识别,只有部分是通过坐标识别。

51576d7550597d38b92ca0d4289f9f6e.png


http://lihuaxi.xjx100.cn/news/270007.html

相关文章

linux下查看nginx,apache,mysql,php的编译参数

有时候nginx,apache,mysql,php编译完了想看看编译参数可以用以下方法 nginx编译参数: #/usr/local/nginx/sbin/nginx -V nginx version: nginx/0.6.32 built by gcc 4.1.2 20071124 (Red Hat 4.1.2-42) configure arguments: --us…

基于OpenCV 的车牌识别

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达车牌识别是一种图像处理技术,用于识别不同车辆。这项技术被广泛用于各种安全检测中。现在让我一起基于OpenCV编写Python代码来完成这一任务。车牌识别的相关步…

可见面判别算法---可见面判别算法的分类

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/liyangke/blog/2875781

讨论:Service层需要接口吗?

点击上方蓝色“方志朋”,选择“设为星标”回复“666”获取独家整理的学习资料!链接:toutiao.com/i6882356844245975563前几天刷头条又刷到了「Service层和Dao层真的有必要每个类都加上接口吗?」这个问题,之前简单回答了…

Linux(Centos)之安装Java JDK及注意事项

1.准备工作 a.因为Java JDK区分32位和64位系统,所以在安装之前必须先要判断以下我们的Centos系统为多少位系统,命令如下: uname -a解释:如果有x86_64就是64位的,没有就是32位的。后面是X686或X86_64则内核是64位的&…

线上直播丨Hinton等6位图灵奖得主、百余位顶级学者邀你群聊AI

Geoffrey Hinton等6位图灵奖得主亲临,百余位顶级学者邀请你加入群聊「2020北京智源大会」,深入系统探讨「人工智能的下一个十年」。自2009年深度学习崛起以来,第三波人工智能浪潮席卷全球,推动了新一波技术革命。在这波澜壮阔的11…

如何使用Transformer来做物体检测?

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达作者丨Jacob Briones来源丨AI公园编辑丨极市平台导读 本文为一个Facebook的目标检测Transformer (DETR)的完整指南,详细介绍了DETR架构的内部工作方式以及代码。…

java负载均衡框架_SpringCloud与Consul集成实现负载均衡功能

负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。负载均衡基本概念有:实服务、实服务组…