准备:

注: QuickTest Pro()11.5后更名为UnifiedFunctional Testing(UFT)

1、安装后打开QTP,勾选 add-in,进入QTP后File-New-Test。

2、选择File菜单下New-Test。

选择GUI Test,输入Name“第一个脚本”,Create。

4、使用Tools菜单下的ObjectSpy。

5、点击手型按钮,点击后鼠标变为手型,再点击浏览器上的“百度一下”按钮。

6、正常识别结果如图:

未能识别结果如图:

如果未能识别对象:

1、检查QTP版本、浏览器版本、版本,QTP安装目录“\help”下的QTP_PAM.pdf或UFT_PAM.pdf文件提供了支持的操作系统、插件版本、web-addin支持的浏览器及版本、支持的其他HP工具及版本等信息。1.1、例如测试WEB时,可以从这个PDF文档里得出支持的组合如XPsp3+QTP11+IE8,Win7+UFT11.5+IE9,UFT11.53+Chrome30,不支持组合如QTP11+FireFox27。1.2、QTP11官方提供了IE9补丁,安装后可以识别IE9对象。1.3、64位系统下的IE也分32位和64位,例如QTP11测试64位IE,还需要64位补丁。QTP11补丁:http://blog.csdn.net/zzxxbb112/article/details/6968418QTP11.5补丁:http://www.iquicktest.com/uft-qtp11-5-patches.html

2、检查IE是否加载了BHOmanagerClass。IE设置-Internet选项-程序-管理加载项-所有加载项。如果BHOmanager Class是未启用状态,改为启用。

如果所有加载项中没有BHOmanager Class,打开开始菜单-HP Software-HP Unified Functional Testing-Tools-AdditionalInstallation Requirements,勾选“配置Internet Explorer 设置”,运行。

2.1、FireFox和Chrome同样需要检查插件是否安装并启用。FireFox附加组件-扩展中应有Unified Functional Testing Extension。Chrome工具-扩展程序中应有Unified Functional Testing Agent。

3、以管理员身份运行QTP。

4、如果仍不能识别,尝试关闭其他程序、关闭杀毒软件,先打开QTP后打开IE再识别。

第一个脚本:

1、打开QTP,加载Web add-in。

2、打开IE,进入百度首页www.baidu.com

3、打开QTP本地对象库,打开Resources菜单下的ObjectRepository

4、添加对象到本地对象库。Object菜单下的Add Object to Local

点击百度输入文本框。

点击OK后,就出现在对象库了。

选中wd对象,使用View菜单下的Highlight  in Application,如果浏览器中的输入框闪烁说明QTP能正确定位对象。

以相同步骤添加“百度一下”按钮

5、刷新Toolbox以显示新添加的对象。

刷新后界面

6、拖拽wd对象到右侧编辑区(或双击wd对象):

在Set后输入参数:

7、拖拽“百度一下”对象到编辑区(或双击对象)

8、运行脚本。

Run菜单下的Run。

点击Run

运行后结果:

代码结构:

父对象Class(“父对象Name”).子对象Class(“子对象Name”).方法 [参数]

实例:对象库如何工作:

1、添加“百度一下”按钮到对象库(参考“第一个脚本”1-4步),使用Highlight可以定位对象。如图,“百度一下”对象的name属性是“百度一下”。

2、修改“百度一下”对象的name属性为“百度一下修改”,并将“Enable Smart Identification”的Value改为False。再使用Highlight,QTP提示错误“不能在应用中找到选择的对象”。

3、打开IE的开发者人员工具(F12),如图,使用鼠标形按钮选择“百度一下”按钮。选择后HTML代码定位到相应元素。修改“百度一下”按钮元素的value值为“百度一下修改”。

修改前代码:

修改后代码:

修改后页面:

修改后在对象库中选择“百度一下”对象使用Highlight,QTP又能正确定位了。

4、修改“百度一下”按钮位置,如图:

修改后在对象库中选择“百度一下”对象使用Highlight,能正确定位。

5、复制“百度一下”按钮代码,在页面上再添加一个按钮,修改后如图

修改后在对象库中选择“百度一下”对象使用Highlight,能正确定位。QTP提示错误:有多个符合描述的对象。

添加界面上两个“百度一下”按钮到对象库,现在对象库里有三个“百度一下”按钮对象,对比属性,只有ordinal identifier部分不一样。

界面只有一个按钮时添加的对象Type,Value值是None

界面有两个个按钮时添加的对象Type,Value值分别是”index,1”和”index,2”

对象库工作模型:

1、添加对象时:

1.1、QTP Spy被测软件被选中的对象,获取对象的属性集合和对象类型。

1.2、按照Object Identification中相应对象类型的设置,筛选属性集合后存入对象库。

1.3、打开Tools菜单下Object Identification,如图,以WebButton为例。

2、运行时:

2.1、如运行到第二行。

QTP读取对象库中Class是WebButton,name是“百度一下”的对象,获取属性集合(TO)。

2.2、获取被测软件上的对象集合。

2.3、获取第一个对象的属性集合(RO)。对比RO和TO。

2.4、如果属性值不一致,获取第二个WebButton对象的属性集合后对比。如果属性值一致,则触发WebButton对象的方法。

关于录制:

使用录制后可以看出录制自动完成了添加对象到对象库和在编辑区输入脚本(对象、方法和参数)的过程。但录制经常有步骤缺失的问题,比如实际点击某个页面对象A但录制结束后对象库中没有对象A,编辑区也没有相关代码。不补全脚本就Run就会报错了。

使用QTP帮助文档:

在编辑区选中Browser("").Page("").WebEdit("")下的Set 按F1,帮助文档会自动定位到Web> WebEdit Object > Methods > Set Method,帮助文档提供了语法、参数说明、返回类型和例子,查看Example可以看到代码示例。

点击WebEdit Object,可以看到WebEdit对象的说明、方法和属性,

检查点

1、新建一个脚本,在百度知道(http://zhidao.baidu.com/)页添加关键字输入框和搜索答案对象,添加后如图:

输入以下脚本:

2、执行后打开对象库,选择”word”对象使用Highlightin Application,在搜索后的百度页面仍能定位。

3、使用Object Spy查看搜索后页面的文本框,查看value属性,值为“QTP”。删除文本框内容后使用Object Spy,查看value属性,值为空,如图。

所以这里可以用对象“word”的value属性值判断功能是否正确。

4、修改脚本如下,修改后Run。

5、运行后打开View菜单下的Last RunResults。

如图, Property "value" has the expected value:"QTP".对象“word”的value属性的值是期望的“QTP”,检查点Pass。

参数化

1、在Global表中输入多行数据,并修改脚本如下。

2、打开File菜单下的Settings,设置Run如下。

3、Run脚本,可以看到执行过程中依次搜索了Global表中的数据,打开Last Run Results,可以每次迭代的结果,如图,每次迭代检查点都有记录。

4、选中Global表中有数据的行,在右键菜单中选择Delete删除行。

注意,如果删除了表格中的内容——比如用键盘的退格和删除,而有黑线的行仍是三行(如图),还是会迭代三次。

5、在Action1表中输入多行数据,并修改脚本如下,注意脚本和使用Global表时不同。

6、打开View菜单下的TestFlow。

右键Action1,在菜单中选择Action Call Properties。

设置如下。

7、Run脚本,可以看到执行过程中依次搜索**tion1表中的数据,打开Last Run Results可以查看结果。

参数化迭代流程图

A:一个脚本可以有多个Action。

B:File-Settings-Run下的设置控制脚本的迭代。

C:Action CallProperties-Run下的设置控制Action的迭代。

一个迭代实例

1、新建GUI Test,选择Design菜单下的Call toNew Action

点击“OK”后添加了一个action。

2、在Global表添加两行数据“Global第1行”和“Global第2行”;Action1表下添加两行数据“Action1第1行”,“Action1第2行”;Action2表下添加两行数据“Action2第1行”,“Action2第2行”。

3、修改File-Settings-Run设置为Run on allrows。修改Action1和Action2的Call Properties-Run设置为Run on all rows。

4、在Action1和Action2的编辑区输入下图脚本。

5、Run脚本,可以看到弹窗出现16次,依次如下:

Global第1行

Action1第1行

Global第1行

Action1第2行

Global第1行

Action2第1行

Global第1行

Action2第2行

Global第2行

Action1第1行

Global第2行

Action1第2行

Global第2行

Action2第1行

Global第2行

Action2第2行

uft自动化测试工具 android,【自动化测试工具】QTP/UFT入门相关推荐

  1. android 实例-个人理财工具,Android 个人理财工具六:显示账单明细 下

    上一节的显示账单明细 上中,账单明细的显示已经基本实现,本文主要整理下代码,实现此窗口的查询和删除功能:按下Menu菜单时弹出选择月份的窗口,可选择明细的月份:在ListView上长按可弹出确认删除的 ...

  2. android xitong工具,Android系统工具盘点

    经常使用电脑的一些朋友,多少会定期不定期地使用一些系统工具,比如超级兔子.优化大师之类的优化类软件.因为经常优化电脑,对自己电脑的运行速度以及系统的正常运行有极大帮助.当然,不用优化只喜欢重装电脑的用 ...

  3. android中怎么画图工具,Android画图工具的制作

    Android 项目中使用到画图工具,本文记载如何实现,需详细了解cavas和surfaceviw 1 三星pad 三星pad自带的手写笔可以很好的支持画图,集成三星的sdk 以上三星官方提供的库文件 ...

  4. android 实用工具,android实用工具高效

    一 .Android Debug Database Android Debug Database是一个非常酷的开源工具,完全改变了debug 数据库和shared preferences的方式.现在你 ...

  5. linux下安卓逆向工具,Android逆向工具:Androguard(一)

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 本文介绍一下Androguard的安装和使用. 什么是Androguard? Androguard是使用Python编写 ...

  6. QTP/UFT(二):自动化测试脚本编写方法

    2021.04.24 自动化测试方案选取时需考虑的因素(康康就行,并不是很重要) 项目的影响:自动化测试能否对项目进度.测试覆盖率.风险有积极的作用,或者让开发更敏捷 复杂度:自动化是否容易实现,包括 ...

  7. android 自动化测试

    Android 谈谈自动化测试 Android自动化测试原来可以这么简单 几款Android 应用自动化测试工具 Android自动化测试探索(一)adb详细介绍 - 周希 - 博客园 移动测试基础 ...

  8. 全网最全Android开发工具,Android开发框架大全

    涵盖Android方方面面的技术, 目前保持更新. 时刻与Android开发流行前沿同步. 目录 一.工具 Android开发工具 在线工具宝典大全 二.框架 *缓存框架* DiskLruCache ...

  9. Android开发工具系列:SharedPreference管理工具

    Androi开发工具系列:SharedPreference管理工具 Android开发工具系列:弱引用工具 Android开发工具系列:Utils工具 文章目录 1 strategy 1.1 Pref ...

  10. Android集成开发工具——Android Studio

    Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似Eclipse ADT,Android Studio 提供了集成的 Android 开发 ...

最新文章

  1. python使用matplotlib可视化、为可视化图像添加标题(title)、自定义标题的字体格式、字体大小、字体颜色等
  2. Unity提出ProtoRes模型:稀疏可变的输入也能构建完整人体姿态
  3. Linux内存管理 (26)内存相关工具
  4. 中国基础软件历史性突破!Gartner最新报告:阿里云进入全球数据库领导者象限
  5. Vue基础进阶 之 实例方法--生命周期
  6. python3的print函数
  7. PDOStatement::bindParam的一个陷阱
  8. 微信公布6月朋友圈十大谣言 包括不打疫苗不让上飞机高铁等
  9. QQ在线客服代码 网页qq咨询html代码
  10. 浅谈博客、微博与轻博客的区别与联系
  11. 【009】Excel宏编程相关封装模块(边框细线、边框粗线、列宽、行高)_002_#VBA
  12. 世界各国及其省份城市经纬度
  13. 读Google MapReduce后有感
  14. [Xilinx ZYNQ] #4 Petalinux 入门 [黑金资料 基础教程s1 整理]
  15. Nerv-京东高性能前端框架
  16. MyBatis-Ext,方便易用的MyBatis增强扩展
  17. java丶对数组值按首字母进行排序
  18. 如何查询期刊并免费下载论文,纬度学术利用
  19. 女生句子简单干净霸气,适合女生霸气又很拽的句子
  20. EasyNVR H5无插件摄像机直播解决方案前端解析之:关于直播页面和视频列表页面切换的问题

热门文章

  1. asp.net教师好助手考试系统源码
  2. 厨具巨头员工数据在攻击中遭泄露、伊朗国家广播被恶意软件攻击|2月22日全球网络安全热点
  3. 拉格朗日中值定理习题
  4. 一文详解假设检验、两类错误和p值
  5. 玫琳凯公司任命Wendy Wang为亚太区总裁
  6. 音乐播放器的歌曲进度调节和音量大小调节实现
  7. QuerySet数据类型介绍
  8. 苹果智能音箱HomePod确定跳票到2018年!元芳 你怎么看? | 精选
  9. URL、URN与URI的区别与联系
  10. java wed中uri url urn_URI URL URN 详解