这次是在上次写的文章“关于qtp的测试对象”的基础上的进一步讨论,这里的改进主要是针对完全的手动开发qtp自动化测试脚本而言的,对于录制后简单的修改并不使用。在功能的自动化测试中,测试对象是基础,为了提高测试对象的高度可复用性以及便于日后的升级和维护,我们应该使用尽量少的属性去标示出这个对象,例如:创建一个JavaWindow对象:
set win = description.Create
win("class description").value = "window"
这样就足可以来表示出给对象了,但是当有多个JavaWindow对象对象同时存在时,这样创建时明显有问题的,这时我们就不得不再去增加一个title来识别出每一个不同的JavaWindow对象了,但是如果我们直接把title属性写入到代码中,这样在升级版本或客户要就修改标题后,我们就不得不去相应的到我们的代码中去修改这个标题,在一个大型的项目中会有很多地方需要去修改,这样既不容易该全,也很麻烦。解决办法:
get the JavaWindow object
function getWindowByTitle(title)
set win = description.Create
win("class description").value = "window"
win("title").value = title
set getWindowByTitle = win
end function
*********************************************
test.txt --this is the configure file
#the login dialog
TITLE="backup express 3.1"
*********************************************
this function get the value by name
Function getText(name)
Dim fso,cPath,f
cPath = "E:\javaGui.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(cPath,1,False)
Do While Not f.AtEndOfStream
str = f.ReadLine()
If Not InStr(str,"#") > 0 Then
tmpArr = Split(str,"=",-1,1)
If StrComp(tmpArr(0),name) = 0 Then
getText = tmpArr(1)
Exit Do
End If
End If
Loop
Set f = Nothing
Set fso = Nothing
End Function
*******************************************
qtp script. code
JavaWindow(getWindowByTitle(getText(TITLE))
我们都知道,在软件开发中,界面上显示的文字,都是属于软件的资源而已,是不会写入到代码中去的,而是配置中软件的资源文件中而已,那在我们开发测试脚本的时候,同样这些具体的用于识别集体对象的属性不过也是属于一种资源而已,我们同样可以把这样资源写到我们的资源文件中去配置,这样当修改修改时,我们同样只需要去维护一份或几份资源文件而已,而不需要去到代码中去修改,这样大大增加了我们代码的可维护性。写一个简单的例子程序,来说明这个问题:
这里只是一个简单demo,在实际使用中我们可以按照这种思路去开发自己的测试脚本。
set win = description.Create
win("class description").value = "window"
这样就足可以来表示出给对象了,但是当有多个JavaWindow对象对象同时存在时,这样创建时明显有问题的,这时我们就不得不再去增加一个title来识别出每一个不同的JavaWindow对象了,但是如果我们直接把title属性写入到代码中,这样在升级版本或客户要就修改标题后,我们就不得不去相应的到我们的代码中去修改这个标题,在一个大型的项目中会有很多地方需要去修改,这样既不容易该全,也很麻烦。解决办法:
get the JavaWindow object
function getWindowByTitle(title)
set win = description.Create
win("class description").value = "window"
win("title").value = title
set getWindowByTitle = win
end function
*********************************************
test.txt --this is the configure file
#the login dialog
TITLE="backup express 3.1"
*********************************************
this function get the value by name
Function getText(name)
Dim fso,cPath,f
cPath = "E:\javaGui.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(cPath,1,False)
Do While Not f.AtEndOfStream
str = f.ReadLine()
If Not InStr(str,"#") > 0 Then
tmpArr = Split(str,"=",-1,1)
If StrComp(tmpArr(0),name) = 0 Then
getText = tmpArr(1)
Exit Do
End If
End If
Loop
Set f = Nothing
Set fso = Nothing
End Function
*******************************************
qtp script. code
JavaWindow(getWindowByTitle(getText(TITLE))
我们都知道,在软件开发中,界面上显示的文字,都是属于软件的资源而已,是不会写入到代码中去的,而是配置中软件的资源文件中而已,那在我们开发测试脚本的时候,同样这些具体的用于识别集体对象的属性不过也是属于一种资源而已,我们同样可以把这样资源写到我们的资源文件中去配置,这样当修改修改时,我们同样只需要去维护一份或几份资源文件而已,而不需要去到代码中去修改,这样大大增加了我们代码的可维护性。写一个简单的例子程序,来说明这个问题:
这里只是一个简单demo,在实际使用中我们可以按照这种思路去开发自己的测试脚本。
发表评论
-
FireEvent("onfocus")方法
2011-08-24 17:05 924“焦点在什么状态下点击Enter”,所以先要用FireEven ... -
描述性编程
2011-08-24 17:01 579描述性编程(descriptive p ... -
QTP中FireEvent实现多样JS操作
2011-08-24 17:01 944当鼠标移到某个对象上时,才会出现对应的操作,而这些都是通过JS ... -
FireEvent 方法 展开 树节点
2011-08-24 16:59 1233手动展开时是双击名称,但此时被QTP识别为Link的Click ... -
如何用QTP录制鼠标右键点击事件
2011-08-24 16:56 1369QTP录制鼠标右键单击事件要通过模拟键盘操作来实现 Step ... -
如何用QTP录制鼠标右键点击事件
2011-08-24 16:55 855先说明下,我的qtp版本是10.0的,系统是win7+ie8, ... -
QTP录制鼠标右键点击选择操作
2011-08-24 16:44 846很多时候,QTP对于模拟对象右击并选择某个弹出选项的操作识别率 ... -
QTP对象识别常用方法介绍
2011-08-24 16:40 675QTP对象识别常用方法介 ... -
QTP中虚拟对象设置及应用实例
2011-08-24 16:35 774当我们在录制脚本中,有 ... -
QTP无法识别对象的解决办法
2011-08-24 16:18 1498对QTP无法识别对象的解 ...
相关推荐
第13篇-QTP对象管理机制(1) 第13篇-QTP对象管理机制(1)
QTP对象库简介
通过Desktop对象,可以访问Windows的桌面顶层对象。Desktop对象包括CaptureBitmap、ChildObjects、RunAnalog方法。
QTP测试亚马逊 详细的测试过程以及测试结果 结果分析
QTP测试计算器的小例子,注意打开后修改源文件里面的路径,添加了多位数整数的支持
这是一个用qtp录制的脚本,每一个Action对应一个测试用例。 包括数据驱动,action调用,低级录制,场景恢复,功能键测试,检查点测试,正则表达式运用等。
软件测试工具QTP识别对象的原理_软件测试
QTP:虚拟对象需要注意的两点 1.虚拟对象管理器中显示的虚拟对象集合存储.... 2......
QTP是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。测试自动化技术!它以程序测试程序、以代码代替思维、以脚本的...
QTP中虚拟对象设置,是使用QTP测试中必须懂的一个知识点。
QTP对象识别、QTP测试流程、QTP错误处理机制和虚拟对象的使用。
QTP 软件测试教程,
一、QTP 简介 二、录制/执行测试脚本 三、实验小结
使用page测试对象的object属性 Set Doc= Browser("..").Page("..").Object Doc.all 对象中所有的元素 Doc. TagName 标签名 Doc. InnerText 标签内容 SystemUtil.Run "IEXPLORE.EXE","www.baidu.com" Browser("百度...
QTP测试web对象论述毕业论文.doc
QTP教程及资源
测试脚本项目实例,包含脚本与结构ppt,是qtp学习者最好的学习资源。
此文档中包括了六个用qtp测试工具的测试实验,步骤详细,便于对自动化软件qtp的学习使用
1.5 QTP精华—对象库(上)之基础攻略篇 1.6 对象库(下)之进阶编程篇 1.7 描述性编程(Descriptive Programming) 1.8 数据池(Data Table)的应用 1.9 操作模块 1.10 QTP的验证点与测试报告 2.1 VBScript在项目...