自动化测试工具 - Unified Functional Testing
这几天跟自动化测试工具UFT耗上了。。。
网罗了下,居然有不少自动化测试工具,像Selenium,QTP(UFT前身),LoadRunner,真是只有想不到,没有人家办不到。
言归正传,记录下小白使用UFT工具的过程,主要是记录些其中的一些隐藏功能以便以后查阅。
1. 工具版本

界面挺清新的,感觉有些类似VS,要licence,免费使用60天

2. 使用文档
(1) 官方网站
(2) PDF
因为UFT前身叫做QTP,所以QTP的一些指导文档也可以拿来看看
(4) QTP quick guide
3. 业务场景:自动化操作Web+Applet的应用
(1) 浏览器:IE11
(2) 使用UFT中的GUI test
I) 新建Action,再到工具栏中的"Record"项设置,然后点击红圆点开始动作录制。

II) 如下工具辅助录制过程

1. 主要用到
Default: 记录Web
Insight Recording: 记录Web,Window,Applet等
Low-Level Recording:最详细,可记录所有事件
2. 检测对象并查看属性
3. Sychronized作用,保证事件先后顺序
III) 如下消息框为Web部分,使用Default模式即可

IV) 如下为Applet应用,使用Insight Recording模式(Default模式下UFT会报错退出)

V) 在使用Insight Recording模式后仍然出现UFT报错退出的情况,改用Low-Level Recording模式(此时会记录操作的坐标位置)
4. 其他tips
1) 在Tools项下,“Object Identification...”和"Options..."目前用的比较多

2) Options下可以设置GUI Testing,比如用With将同一对象下的操作包裹起来。

3) Action 中的脚本据说跟VBScript类似,所以rem来注释脚本
rem Browser("").
4) Run项下的"Maintenance Run Mode..."可以用来在运行时更新脚本,"Run from Step..."可以用来做局部脚本测试(当然Web测试页面需要对应)

5) UFT在Insight Recording模式下获取并呈现在Active Screen中的图像采用了Abby的OCR技术
6) 在Low-Level Recording模式下会记录操作的坐标位置,如果能用对象属性定位为最好。
这个需要先利用"Object Spy..."识别对象,然后有个骚操作 - 点击对象并拖到Action脚本中释放,脚本自动生成了。

7) Object Repository Manager

可以在"Object Spy..."识别的对象基础上自定义更加准确的对象(比如重命名对象名称)。
1. Test Objects下自定义了Password和User ID对象,实际上就是上面提到的在Low-Level Recording模式下获取的对象。
2. Test object details列出定位对象的属性,可以修改。其中的默认值(包括Enable Smart Identification属性)在“Object Identification...”中设定。
3. 在Object Repository Manager窗口中使用"Object Spy...",选取对象并拖到Action脚本中,自动生成的脚本便使用自定义对象名称。
4. 右键点击生成的脚本语句可以查看具体的对象属性。如无法查看对象属性,需要将保存的Object Repository(.tsr)文件同Action关联,如下

自动化测试工具 - Unified Functional Testing的更多相关文章
- 自动化测试工具QTP的使用实例 分类: 软件测试 2015-06-17 00:23 185人阅读 评论(0) 收藏
1. QTP简介 1.1QTP功能与特点 QTP是QuickTest Professional的简称,是一种自动化软件测试工具.在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试 ...
- 手机GUI自动化测试工具选择
(Graphical User Interface,简称 GUI,又称图形用户接口) 我们需要针对自身产品的需求,从中选取一款合适的工具来实现自动化.对于移动客户端GUI的自动化而言,需要保证选取的工 ...
- Android 手机自动化测试工具有哪几种?
1.Monkey是Android SDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出.实际上该工 ...
- 前端自动化测试工具doh学习总结(二)
一.robot简介 robot是dojo框架中用来进行前端自动化测试的工具,doh主要目的在于单元测试,而robot可以用来模仿用户操作来测试UI.总所周知,Selenium也是一款比较流行的前端自动 ...
- 前端自动化测试工具doh学习总结(一)
前言 项目中需要用到前端自动化测试,自己被当作一个探针研究了下目前用的比较多的web自动化测试工具.一开始研究的是的selenium,但由于项目使用了大量的dijit控件,写起testCase来很费劲 ...
- 录制简单的自动化测试工具SlikMobile初体验
今天朋友推荐了款自动化测试工具SlikMobile,下载了个试用了下,感觉还是很容易入门和上手的,感觉和testin的工具差不多,跨平台,多语言支持,支持图片.文本和Native Class三种对象方 ...
- Functional testing - python, selenium and django
Functional testing - python selenium django - Source Code : from selenium import webdriverfrom sele ...
- 自动化测试工具QTP和SilkTest横向PK(转)
转自:http://www.uml.org.cn/Test/201405212.asp?artid=1686 众所周知,自动化测试工具曾几何时三足鼎立,Mercury QTP/WinRunner系.I ...
- 常用自动化测试工具介绍(支持B/S、C/S)
一.功能测试工具1.QTP测试工具 全名HP QuickTest Professional software ,最新的版本为HP QuickTest Professional 11.0 QTP是qui ...
随机推荐
- BFS+最小生成树+倍增+LCA【bzoj】4242 水壶
[bzoj4242 水壶] Description JOI君所居住的IOI市以一年四季都十分炎热著称. IOI市是一个被分成纵H*横W块区域的长方形,每个区域都是建筑物.原野.墙壁之一.建筑物的区域有 ...
- 数据挖掘算法之k-means算法
系列文章:数据挖掘算法之决策树算法 k-means算法可以说是数据挖掘中十大经典算法之一了,属于无监督的学习.该算法由此衍生出了很多类k-means算法,比如k中心点等等,在数据挖掘领域, ...
- ios禁用多按钮同时按下操作
[button setExclusiveTouch:YES]; 设置每个button的setExclusiveTouch:YES,可避免同时按下多个的问题
- EDM邮件群发十大技巧提升邮件群发效果
有很多人抱怨现在邮件群发没有什么效果,其实不然,每一种推广方式都有他的优势,没有看到效果说明你没有掌握好方法.个人觉得EDM邮件群发的优势在于传播速度快.不受地域限制.不受时间限制.邮件内容能够多元化 ...
- CENTOS设置MYSQL字符集
CENTOS设置MYSQL字符集 show variables like 'character_set%'; vim etc/my.cnf 修改成如下: [client] port=3306 sock ...
- Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribu ...
- 通过CVE-2017-17215学习路由器漏洞分析,从入坑到放弃
1.基本信息: 2017/11/27,Check Point 软件技术部门报告了一个华为 HG532 产品的远程命令执行漏洞(CVE-2017-17215),Mirai的升级版变种中已经使用该漏洞.看 ...
- 什么是HotSpot VM & 深入理解Java虚拟机 JVM
参考 http://book.2cto.com/201306/25434.html 另外,这篇文章也是从一个系列中得出的: <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> ...
- python virtualenv virtualenvwrapper
python中的virtualenv模块能够将项目环境分隔开,而不是使用全局的环境,非常实用. 首先pip install virtualenv 如何创建一个环境virtualenv testvir ...
- Java高级特性—锁
1).synchronized 加同步格式: synchronized( 需要一个任意的对象(锁) ){ 代码块中放操作共享数据的代码. } synchronized的缺陷 synchronized是 ...