QTP知识总结(一)

(2010-12-22 16:30:41)

标签:

杂谈

分类: 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知识总结(一)的更多相关文章

  1. 整理QTP知识之1

    以下说明由网络其他文章整合而成. 一.关于QTP的说明 QTP是目前市场上占有率最高的一款自动化测试工具,也是每一位测试工作者最想掌握的工具之一,也是目前流行的基于GUI的功能自动化测试工具之一. Q ...

  2. QTP自动化测试框架的基础知识

    1. 什么是自动化测试框架? 假定你有一个活,需要构建许多自动化测试用例来测试这个应用程序.当你对这个应用程序完成自动化测试后,你对自己创建脚本应该有什么期望吗?你难道不想要- 脚本应该按照预期的来执 ...

  3. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  4. Web测试的常用测试用例与知识

    1. Web测试中关于登录的测试 2. 搜索功能测试用例设计 3. 翻页功能测试用例 4. 输入框的测试 5. Web测试的常用的检查点 6. 用户及权限管理功能常规测试方法 7. Web测试之兼容性 ...

  5. 自动化测试工具QTP的使用实例 分类: 软件测试 2015-06-17 00:23 185人阅读 评论(0) 收藏

    1. QTP简介 1.1QTP功能与特点 QTP是QuickTest Professional的简称,是一种自动化软件测试工具.在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试 ...

  6. web测试常用的用例及知识

      1.      Web测试中关于登录的测试... 1 2.      搜索功能测试用例设计... 2 3.      翻页功能测试用例... 3 4.      输入框的测试... 5 5.    ...

  7. QTP vbs学习

    1.helloworld Dim helloworld helloworld = "QTP自动化测试技术导航" mxgbox helloworld   2.显示申明变量 Optio ...

  8. 学习selenium需要具备的知识或技术

    因为有QTP和JAVA的基础,selenium学起来会快很多,总结下学习selenium所需要具备的知识或技术 1.selenium进行的自动化测试是基于ui层面的,所以html,css,javasc ...

  9. QTP之delphi试用感想一(自动化测试)

    这两天一直在琢磨自动化测试,自动化测试,其实与单元测试有一些相同之处,单元测试的目的也是可以一次写,多次运行,对于测试驱动及后期维护真是有非常多的好处,用自动化测试工具也是如何,主要目的是为了回归测试 ...

随机推荐

  1. Google调试技巧总结

    工欲善其事 工欲善其事,必先利器. Google调试面板一一介绍:F12回想一下大家都应该知道,哈哈 element面板 这个面板显示了页面所有html代码.用于调试css代码.右側展示左側相应选择元 ...

  2. [程序安装包制作] Advanced Installer 备忘

    原文:[程序安装包制作] Advanced Installer 备忘 Product Information - Product Details 这个重点是Product Version.讲这个之前, ...

  3. Oracle实践--PL/SQL表分区的基础

    PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言.是对SQL的扩展.支 ...

  4. BZOJ 1015 JSOI2008 星球大战 starwar 并检查集合

    标题效果:给定一个无向图.联通谋求块的数目,以及k一个点的破坏后每次:联通,块的数目 侧面和摧毁的地步全记录,我们可以做相反的. 需要注意的是该点不能算作破坏联通块 #include<cstdi ...

  5. Microsoft.AlphaImageLoader过滤评论

    Microsoft.AlphaImageLoader是IE滤镜的一种,其主要作用就是对图片进行透明处理.尽管FireFox和IE7以上的IE浏览器已经支持透明的PNG图片,可是就IE5-IE6而言还是 ...

  6. 删RAC中间ASM和LISTENER 资源的正确方法

    在我们的安装RAC什么时候.有时因各种错误加载错误ASM实例或LISTENER显示器,或增加CLUSTERWARE资源,但并没有真正的工作,例如: 如图所看到的,这里在2个节点分别创建过ASM1和AS ...

  7. WebService到底是什么? [转]

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  8. 《得知opencv》注意事项——矩阵和图像处理——cvOr,cvOrS,cvrReduce,cvRepeat,cvScale,cvSet and cvSetZero

    矩阵和图像的操作 (1)cvOr函数 其结构 void cvOr(//两个矩阵相应元素做或执行 const CvArr* src1,//矩阵1 const CvArr* src2,//矩阵2 CvAr ...

  9. linux_Ubuntu 12.04 安装jdk

    1.下载jdk6jdk6下载地址为:http://download.java.net/jdk6/,根据操作系统的选择对应的安装包,我的是ubuntu 12.04 32bit的,所以下载的文件是jdk- ...

  10. Matlab学习第二天 利用插值

    插入值一切手段: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxNDQ5MjI1Nw==/font/5a6L5L2T/fontsize/400/fi ...