QTP知识总结(一)
File menu
Process guidance management,View > process guidance, automation > process guidance list 过程指南,默认安装会包括以下几个过程指南:
(1)Keyword-Driven
Testing:介绍和指引QTP用户熟悉关键字驱动(Keyword-Driven)的测试方法和测试过程。Table-driven
testing实现KDT主要依赖自动化框架,通过框架仅需测试人员开发表格和关键字,框架通过解释表格数据和关键字执行脚本。
(2)Application
Areas:介绍和指引QTP用户熟悉应用程序区域(Application
Areas)的概念和使用方法。
(3)Business
Components:介绍和指引QTP用户熟悉业务组件(Business
Components)的概念和使用方法。
²
File
> Settings,也可以在运行过程中设置和获取测试选项,如
settting(“DefaultTimeOut”) QTP用于查找对象的最大时间
Setting.Item通过Item属性获取和设置脚本的全局信息,如
With
setting
If Not .Exists(“ItemNumber”) then
.Add “ItemNumber”, 1
Else
.Item(“ItemNumber”) = .Item(“ItemNumber”) +
1
End if
End with
Item属性在整个测试项目的各次运行之间有效,即下一次脚本运行能保持上一次运行的值,而环境变量是固定值,仅在测试脚本运行中可以读取和更改。
²
File
> Settings > Local system monitor:
QTP Help >
LocalSystemMonitorDemo.exe。勾上“Enable local
system monitoring ..”,加上需要监控的本机系统性能指标,运行结束后可以在results的system
monitor页面看到结果。
Edit, View,
Automation, Debug menu
录制方式:
n
normal
recording:
通过识别UI对象
n
Analog
recording: 记录操作路径,以鼠标轨迹为基础,脚本不能修改
n
Low level
recording: 以对象坐标为基础,录制对象为window,
winobject
²
Tools>Check
Syntax (Ctrl+F7), View > Information, View
> Debug Viewer
²
Complete
word 或ctrl
+ 空格将自动匹配关键字或函数, F3 Record, F4
Stop, F5 Run, F9 Insert/Remove breakpoint, F10 step over, F11 Step
into, shift + F11 step out
²
QTP help
> MaintenanceMode.exe: Automation >
Maintenance Run Mode 当程序界面上的对象改变,导致运行原来录制的脚本时出现对象找不到的情况,这时就可以用maintenance run
mode,当出现错误时会出现maintenance run
wizard帮助定位和更新对象。
²
Automation>Update
Run Mode: When you run a test in Update Run Mode, QuickTest runs
the test to update the test object descriptions, the Active Screen
images and values, and/or the expected checkpoint values. After you
save the test, the updated data is used for subsequent runs. After
using Update Run Mode to update the test, you may want to use the
Update from Local Repository option in the Object Repository
Manager to merge the objects from the local repository back to a
shared object repository.
Insert
menu:
事务
transaction,在以下情况使用:
n
LR只调用QTP
start和end
transaction之间的代码段
n
统计某操作所需的时间
Resources menu:
object repository
Recovery
Scenarios处理不可预见的事件,可预见的事件在代码中实现
n
Resources
> Recovery scenario
manager中添加事件定义和处理,并保存成一个文件.qrs
n
File
>
Settings>Recovery将上面的文件添加到scenarios
²
the Object
Repository(OR) window for the
local object repository, and the Object Repository Manager for
shared object repositories.
²
关联Associate
Repositories:QTP为某个Action生成相应的测试文件和目录。OR也与Action绑定,因此新的Action不能直接使用前一个Action的OR,解决办法是录制新的OR或者使用关联。关联的OR不能修改,界面显示是灰的。
²
要编写高质量的脚本,除了参考VBScript coding
conventions,还需要对对象库进行管理。可以修改对象名字,使他更易读;为了减少代码行长度,可以添加注释,适当分割对象,或者在对象库中调整层次关系,是底层控件上移。
Tools
menu
Tools
> Web event recording
configuration:
n
Basic: 标准对象上的click等最基本事件
n
Medium: Basic +
HTML的<Div><Span>等标签对象和事件
n
High: Medium +
double click等高级事件
n
Custom
settings
²
Data
Driver将自动检测可能需要参数化的部分
²
虚拟对象Virtual
object: 若程序中包括那些行为类似标准对象的对象,但不被QTP识别,则可将控件所在区域定义为虚拟对象,并可映射到某些标准对象button, check box, object, list,
table, radio button,QTP在测试过程中会对虚拟对象模拟执行用户操作。
²
View Options
> Auto-expand VBScript
syntax启动VBS语法识别,When a function
library window or expert view is active
²
PathFinder.Locate(“xxxx.xxx”)查找某文件所在的目录全路径。在Tools
> Options
>Folders添加查找路径。
²
Tools
> Options>Active
screen设置录制过程中保存的对象级别,越高级后期编辑脚本越容易,但是录制过程更慢,需要更多的存储空间,默认是partial
1)none
2)minimum捕获和存储录制的对象及其父对象属性
3)partial 捕获和存储第一个步骤所执行的应用程序窗口以及该窗口下属的对象属性
4)complete捕获和存储所有信息,包括每个步骤中所有激活的窗口和对话框,web页面等
Keyword
view, 参数化
Data
table: 脚本目录下的default.xls,
file>settings>Run对应global
sheet属性,action call
properties对应action
sheet属性。
DataTable.AddSheet
(SheetName)
DataTable.GetSheetCount
DataTable.DeleteSheet
sheetId: sheetID可以是名字,也可以是ID,ID从1开始
DataTable.GetCurrentRow
当前使用数据表中正在使用的行号
DataTable.GetRowCount
当前使用数据表的总行数
DataTable.Value(ParameterID[,SheetID])
对sheetID当前行的ParmaterID列(列名或ID,从1开始)取值或赋值
²
Test/Action
parameter:把action/test在properties中添加参数,转换成可重用的测试步骤
²
Random
Number:RandomNumber(ParameterNameOrStartNumber[,EndNumber])
²
Environment对象(File
> Settings >
Environments):设置和读取环境变量。环境变量分built-in and
user-defined,user-defined
variable可以export/load。通常在以下情况使用环境变量:1)希望访问QTP的系统数据,如测试的名字,操作系统名字;2)希望存储数据,以备不同的action或函数使用。
Environment.value(“OS”)
Filename=Environment.ExternalFileName
If Filename=””
then
Environment.LoadFromFile(“xxx.xml”)
End if
QTP>Tools
QTP
> Tools > Test Batch
Runner批量运行测试脚本。必须选择Options
> Run > Allow other HP products to
run tests and components
²
QTP
> Tools > Silent Test
Runner可以在不打开QTP的时候运行测试,模拟LR的调用过程,统计事务执行时间。
²
在LR中运行QTP脚本:
1)每台机器只能同时运行一个GUI
Vuser
2)确保LR运行QTP脚本之前QTP已经关闭
3)确保启动一个QTP脚本之前,前一个QTP脚本已经关闭
常用语法,Utility
object, Utility statements:
GeneralHelp.chm
> QuickTest Professional Object Model
Reference
²
Utility Object
> Utility statements
n
Print 非模式窗口。而MsgBox(prompt[,buttons][,title]) 模式窗口,会暂停执行直到关闭.
n
Wait
10 等待10秒,暂停执行
n
ExecuteFile
“xxx.vbs” 执行指定的vbs脚本文件,且一旦被执行,脚本文件中的函数可以直接使用
²
Utility
Object
n
用Extern
object加载DLL,可以用它来调用windows
API函数
n
用DotNetFactory对象访问.Net类库
Set
var_createinstance =
DotNetFactory.CreateInstance(“system.environment”)
Msgbox
var_createinstance.CurrentDirectory
n
用XMLUtil对象检查XML文档
Set
doc=XMLUtil.CreateXML() ‘创建XMLData对象 (< supplemental
objects)
Doc.LoadFile
“Test.xml”
Ans=doc.validate(“d:\...\quickTest
Prefessional\dat\objectRepository.xsd”) ‘用validate指定某个schema文件,检查加载的xml是否满足schema格式要求
If ans
then
Msgbox “xml文件匹配指定的schema”
Else
errNo=doc.GetValidationErrorsNumber
for i=1 to errNo
errStr=doc.GetValidationError(i)
msgbox errStr
next
end
if
²
Standard
windows
n
SystemUtil
object
used to control
applications and processes during a run
session。
SystemUtil.Run
file, [params], [dir], [op], [mode]打开程序或文件
SystemUtil.BlockInput,
UnBlockInput屏蔽/取消屏蔽鼠标和键盘输入
CloseDescendentProcesses,
CloseProcessByHwnd, CloseProcessById,
CloseProcessByName,
CloseProcessByWndTitle 关闭进程
n
SystemUtil.Run
“logman”, “start perf_log”, SystemUtil.Run “logman”, “stop
perf_log”
相当于打开perfmon工具,运行和停止perf_log性能日志
n
Desktop:
CaptureBitmap CaptureBitmapCaptureBitmap截屏,ChildObjects,
RunAnalog运行analog
recording
n
常用方法和属性:exist判断控件是否存在,checkproperty(name,
value)检查控件属性,
GetROProperty(name)获取控件当前属性,
WaitProperty(name,value,[timeout])等待控件的某一属性达到某值,直到超时
Web对象
n
QTP只支持录制IE
Browser,运行时则支持多种浏览器,如果机器上有安装多种,则可以在Automation > Record
and run settings中设置用哪种浏览器
n
QTP不支持录制多Tab页的浏览行为,因此要关闭IE选项>高级>Enabled Tabbed
Browsing
QTP知识总结(一)的更多相关文章
- 整理QTP知识之1
以下说明由网络其他文章整合而成. 一.关于QTP的说明 QTP是目前市场上占有率最高的一款自动化测试工具,也是每一位测试工作者最想掌握的工具之一,也是目前流行的基于GUI的功能自动化测试工具之一. Q ...
- QTP自动化测试框架的基础知识
1. 什么是自动化测试框架? 假定你有一个活,需要构建许多自动化测试用例来测试这个应用程序.当你对这个应用程序完成自动化测试后,你对自己创建脚本应该有什么期望吗?你难道不想要- 脚本应该按照预期的来执 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- Web测试的常用测试用例与知识
1. Web测试中关于登录的测试 2. 搜索功能测试用例设计 3. 翻页功能测试用例 4. 输入框的测试 5. Web测试的常用的检查点 6. 用户及权限管理功能常规测试方法 7. Web测试之兼容性 ...
- 自动化测试工具QTP的使用实例 分类: 软件测试 2015-06-17 00:23 185人阅读 评论(0) 收藏
1. QTP简介 1.1QTP功能与特点 QTP是QuickTest Professional的简称,是一种自动化软件测试工具.在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试 ...
- web测试常用的用例及知识
1. Web测试中关于登录的测试... 1 2. 搜索功能测试用例设计... 2 3. 翻页功能测试用例... 3 4. 输入框的测试... 5 5. ...
- QTP vbs学习
1.helloworld Dim helloworld helloworld = "QTP自动化测试技术导航" mxgbox helloworld 2.显示申明变量 Optio ...
- 学习selenium需要具备的知识或技术
因为有QTP和JAVA的基础,selenium学起来会快很多,总结下学习selenium所需要具备的知识或技术 1.selenium进行的自动化测试是基于ui层面的,所以html,css,javasc ...
- QTP之delphi试用感想一(自动化测试)
这两天一直在琢磨自动化测试,自动化测试,其实与单元测试有一些相同之处,单元测试的目的也是可以一次写,多次运行,对于测试驱动及后期维护真是有非常多的好处,用自动化测试工具也是如何,主要目的是为了回归测试 ...
随机推荐
- 注解配置的Spring MVC
基于注解配置的Spring MVC 简单的HelloWorld实例应用 2.1 问题 使用注解的方式重构helloworld应用案例. 2.2 方案 1. @RequestMapping注解应用 ...
- IntelliJ IDEA于Make Project时报:子字符串不是票面金额的结束、非法的表达式显示启动
IntelliJ IDEA于Make Project当系统提示很多错误,什么孩子不是字符串票面金额的结束.非法的表达式显示启动-- 解决方法是改变File Encoding,更改方法:File > ...
- Ubuntu 14.04 LAMP搭建(Apache 2.47+MySQL 5.5+PHP5.5)
原文:Ubuntu LAMP搭建 为了数据库课程设计,只好自己搭一个数据库系统,采用LAMP方式. 一.安装 1.安装Apache sudo apt-get install apache2 Apach ...
- 快速入门:十分钟学会Python(转)
初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(Cheat ...
- DHot.exe 热点新闻
别人的电脑上的今日插件U菜,打开几个PPT文件,和一个视频文件(默认的音频和视频打开百度),结果突然弹出一个热点广告信息表,形式与风格QQ非常相似,例如下面的附图: 托盘图标: 经过搜索.得到例如以下 ...
- 第1章 单例模式(Single Pattern)
原文 第1章 单例模式(Single Pattern) 单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点. 一.常用模式: 1 ...
- HDU 1203 I NEED A OFFER!(dp)
Problem Description Speakless很长时间,我想出国.现在,他已经完成了所有需要的检查.准备好所有要准备的材料,于是,便须要去申请学校了.要申请国外的不论什么大学.你都要交纳一 ...
- [WF4.0 实战] WPF + WCF + WF 打造Hello World(基础篇)
本篇博客是一个基础的演示样例,也就是一个新手教程吧!让大家熟悉一下WPF + WCF + WF三者的关系!这仅仅是一个基础篇,下篇会继续深入,作为这段时间研究工作流的一个小小总结! 三者关系: WPF ...
- 首先运行application的name相应的类或做activity中间name相应的类?
今天找到该程序条目中找到以下两个条件name我写了一个测试程序,一般如以下: 看mainfest.xml <application android:allowBackup="true& ...
- ORACLE11G RAC 施加以分离不同的实例.TAF
有套POS制 现在应用大量的,大量的数据,! 年前的交易在一定程度上的统计分析影响了额外的应用程序. 这两种应用分别OLTP和OLAP. 其实很多本项目具有的应用要求双方. 看了很多近期的其他系统, ...
转载▼