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. 脚本+批处理打造IIS监控器

    原文 脚本+批处理打造IIS监控器 首先说下我什么要写它,第一.它可以帮你做一件事,那就是随时给你监控你公司的网站服务器的状态,一旦你的网站出现问题不能访问了,它就会自动帮你重启IIS然后让死掉的网站 ...

  2. (大数据工程师学习路径)第一步 Linux 基础入门----环境变量与文件查找

    环境变量与文件查找 本节介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变 ...

  3. 【剑指offer】数字数组中只出现一次(2)

    转载请注明出处:http://blog.csdn.net/mmc_maodun/article/details/27800577 题目:一个int数组中有三个数字a.b.c仅仅出现一次,其它数字都出现 ...

  4. ASP.NET Web API中使用OData

    在ASP.NET Web API中使用OData 一.什么是ODataOData是一个开放的数据协议(Open Data Protocol)在ASP.NET Web API中,对于CRUD(creat ...

  5. 阅读小记3(《C编程专家》)

    gets()不检查缓冲区空间.多余的字符将覆盖原来的栈的内容. fgets()的第二个參数说明最大读入的字符数. 假设这个參数值为n,那么fgets()就会读取最多n-1个字符或读完一个换行符为止.两 ...

  6. wcf系列5天速成——第一天 binding的使用(1)

    原文:wcf系列5天速成--第一天 binding的使用(1) 作为WCF速成系列,只介绍些项目开发中常用到的实战知识. 学习wcf,还是对其中的几个术语要了解一下.wcf中有一个ABC的概念,就是 ...

  7. 私人定制javascript中对象小知识点(Only For Me)

    废话不多讲,先上笑话,然后再,.看懂这个的说明你的节操已经不再了. 晚饭后去理发店理发...割了吧...老板问我怎么剪,我悠悠的来一句往帅了剪...高潮往往令人想不到....旁边一在焗油烫头发的大妈说 ...

  8. utf8 和 UTF-8 在使用中的差别

    在使用中经常遇到utf-8和utf8,如今最终弄明确他们的使用不同之处了,如今来和大家分享一下,以下我们看一下utf8 和 UTF-8 有什么差别  "UTF-8"是标准写法,ph ...

  9. javascript中类的属性研究

    原文:javascript中类的属性研究 本篇文章主要针对javascript的属性进行分析,由于javascript是一种基于对象的语言,本身没有类的概念,所以对于javascript的类的定义有很 ...

  10. SSAS系列——【03】多维数据(多维数据集对象)

    原文:SSAS系列--[03]多维数据(多维数据集对象) 1.什么是Cube? 简单 Cube 对象由基本信息.维度和度量值组组成. 基本信息包括多维数据集的名称.多维数据集的默认度量值.数据源和存储 ...