自动化测试工具 - 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 ...
随机推荐
- String&&StringBuilder&&StringBuffer
在java中提供三个操作字符串的类:String,StringBuilder,StringBuffer (1)什么是字符串:多个字符的集合 (2)String 是内容不可变的字符串.(底层使用了一个不 ...
- 第七章 android-UI组件
一.本章目录 二.用户界面概述 1,用户界面简介 (1)系统和用户之间进行信息交换的媒介 2,设计手机用户界面应解决的问题 (1)需要界面设计和逻辑代码完全分离(布局和逻辑代码分开放) (2)根据不同 ...
- make: ./libtool:命令未找到
make: ./libtool:命令未找到 问题描述: [root@bogon jpeg-6b]# ; make install./libtool --mode=compile gcc -O2 -I. ...
- 6.NFC之非NDEF格式
先看流程图 使用步骤: 第一步:声明权限 <!-- 允许应用程序使用NFC功能 --> <uses-permission android:name="android.per ...
- 监控SQL Server正在执行的SQL语句和死锁情况
原文:监控SQL Server正在执行的SQL语句和死锁情况 SELECT [Individual Query] = SUBSTRING(qt.TEXT, er.statement_start_off ...
- Unity Dotween build error
unity这东西感觉挺坑 在mac上build的时候遇到error IL2CPP error for method 'System.Void DG.Tweening.DOTweenPath::DORe ...
- Git历险记(一)
[编者按]作为分布式版本控制系统的重要代表——Git已经为越来越多的人所认识,它相对于我们熟悉的CVS.SVN甚至同时分布式控制系统的 Mercurial,有哪些优势和不足呢.这次InfoQ中文站有幸 ...
- 机器学习算法实践:朴素贝叶斯 (Naive Bayes)(转载)
前言 上一篇<机器学习算法实践:决策树 (Decision Tree)>总结了决策树的实现,本文中我将一步步实现一个朴素贝叶斯分类器,并采用SMS垃圾短信语料库中的数据进行模型训练,对垃圾 ...
- 2017.7.18 linux下用户、组和文件的操作
参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...
- [GraphQL] Query a GraphQL API with graphql-request
To query a GraphQL API, all you need to do is send an HTTP request that includes the query operation ...