3-UFT对象管理

3-UFT对象管理UFT对象的管理

大家好,又见面了,我是你们的朋友全栈君。

 

    基于GUI的自动化测试主要是围绕着界面的控件元素来进行的,例如文本框、列表框、控制按钮等等,软件用户通常都是通过这些控件与程序交互,因此,编辑测试脚本的第一步就是识别测试对象。

 

1、测试对象、运行时对象的区分以及对象库概念

    首先区分UFT中测试对象和运行时对象概念。

    测试对象:Test Object,TO,是UFT定义的一些类,用它们来代表被测应用的各种对象;

 

TO属性:

    获取对象的属性,可以理解为静态的属性,在运行时的输入东西与它无关。测试对象的属性是UFT为了识别在测试执行过程中的运行时对象而保留在对象库中的属性。

    GetToProperty/GetToProperties和SetToProperty则分别用于读取和修改To的属性值

    运行时对象:Runtime Object,RO,是实际的被测应用对象,是测试执行过程中,TO用来关联的对象;

 

RO属性:

    是变的(用户名框输入不同的值,这个Ro属性取出来就是不一样)

    GetRoProperty方法用于取得运行时对象(实际对象)的某个属性的值

    简单以登录操作中AgentName对象来说,to属性和运行时输入的东西无关,而ro属性是实际中被测应用对象,在测试执行过程中,会看到对应属性的变化:

3-UFT对象管理3-UFT对象管理


      UFT对象库:UFT中,使用对象库对对象进行管理。记录的对象和这些对象的属性,都存储在对象库中。而对象库也可以设置为共享对象库,供多个Action调用。当发现对象库中缺少某个对象时,可以使用对象抓取工具,单个抓取对象添加到对象库中。  

   3-UFT对象管理

 

2、对象库工具的一些操作

 
    1)对象识别器:Tools—–Object Identification

3-UFT对象管理

    2)对象嗅探器:Tools—-Object Spy

3-UFT对象管理

    打开如下的嗅探器窗口,点击下图方框中的按钮,移动手型的光标,可以看到下图中显示当前光标下的空间属性

3-UFT对象管理

3-UFT对象管理

 

    3)对象库:Resources—–Object Repository

3-UFT对象管理

    注意这里存储的除了测试对象,还有其他的对象类型,如下面的检查点。同样在对象库中,我们可以点击工具栏中的按钮,添加对象到对象库中;也可以高亮某个测试对象;,也可以使用对象嗅探器捕获测试对象;也可以关联其他的测试对象;

3-UFT对象管理

 

    4)对象库管理:Resources—-Object Repository Manager

    这里实际上共享对象库。在该对话框中,我们可以创建一个共享对象库、将对象库跟Action关联、添加对象到共享对象库中、保存一个共享对象库、修改共享对象库中的对象等。下面是新建一个共享的测试对象:

3-UFT对象管理

 

3、练习

    录制一个Flight程序登录的脚本。脚本要求:

  1. 使用Systemutil.Run打开程序
  2. 创建三个Action,分别是Login,NewOrder,Logout。在三个Action中分别录制对应的操作
  3. 保存NewOrder的本地对象库为NewOrder.tsr
  4. 删除NewOrder的本地对象库
  5. 将NewOrder的Action使用共享对象库(引用已保存的NewOrder.tsr),设置为共享对象库的路径为相对路径
  6. 使用自定义检查点,检查Price*Ticket的价格是否等于Total,并用If语句写出判断成功或是失败后的Reporter.ReportEvent报告语句
  7. 点击关闭,结束录制

    

补充知识点:

    1)可以使用Systemutil.run加上程序路径,使UFT自动打开被测程序

    2)在录制脚本的过程中,可以点击“录制工具条”中的新建Action按钮,将三个部分的操作放在三个Action中

    3)UFT的VBscript脚本中,使用Const声明定义常量,使用Dim声明定义变量

    4)报告语句,如果程序正确,则可以书写为Reporter.ReportEvent micPass,”结果正确”,”总价格正确”;如果程序不正确,可以使用Reporter.ReportEvent micFail,”结果错误”,”总价格计算错误”;



结果:

flight3.zip

NewOrder中代码:

'新建订单
Window("Flight Reservation").ActiveX("MaskEdBox").Type "121216"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "jojo"
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1

Dim tiknum,price,total
tiknum=2


Window("Flight Reservation").WinEdit("Tickets:").Set tiknum
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinButton("Insert Order").Click

Dim pricestr,totalstr
pricestr=mid(window("Flight Reservation").WinEdit("Price:").GetROProperty("text"),2)
price=CDBl(pricestr)
totalstr=mid(window("Flight Reservation").WinEdit("Total:").GetROProperty("text"),2)
total=CDBl(totalstr)

If (price*tiknum)=total Then
    Reporter.ReportEvent micPass,"结果正确","总价格正确"
Else
    Reporter.ReportEvent micFail,"结果错误","总价格计算错误"
End if

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140242.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • openCV人脸识别简单案例[通俗易懂]

    openCV人脸识别简单案例[通俗易懂]1基础我们使用机器学习的方法完成人脸检测,首先需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。我们需要从其中提取特征。下图中的Haar特征会被使用,就像我们的卷积核,每一个特征是一个值,这个值等于黑色矩形中的像素值之后减去白色矩形中的像素值之和。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征能由矩形特征简单的描述,眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等。Haar特征可用于于图像任意位置,大小也可以任意改变,所以矩形特征值是

    2022年5月28日
    50
  • 【吐血整理】Java项目源码分享

    【吐血整理】Java项目源码分享javaservlet+jsp+bean开发开源宅商城系统,未用任何java开源框架实例(七),电商书店,源码下载:jsp+servlet仿当当网电商图书系统实例(八),源码下载:jsp+javabean+servlet开发的mvc简易鞋城在线商城系统各种管理系统:=======实例(一):学生信息管理系统,源码下载:GitHub-yirenyin/J2EE_practice:J2EE学生信息管理系统初级版实例(二):图书馆管理系统,源码下载:1、图书馆管理系统JSP+Ser

    2022年7月8日
    28
  • VMware安装Centos7超详细过程(图文并茂)

    VMware安装Centos7超详细过程(图文并茂)

    2021年8月3日
    32
  • 按位取反操作_按位取反末尾加一

    按位取反操作_按位取反末尾加一编程时:~1输出结果为-2,~(-5)的输出结果为4,很是疑惑,通过查阅资料终于明白。首先~是取反操作,计算机存储时是按照补码存储。 ~1= -2计算步骤: 1的二进制表示——————————–00000001 按位取反—————————————-11111110

    2022年8月15日
    11
  • cmd命令切换盘符_cmd更改盘符名

    cmd命令切换盘符_cmd更改盘符名cd/dD:\Test\切换到D盘Test文件夹下dir查看文件夹内容cd是用来进入目录,或退出目录的CD\是回到根目录CD..是回到上级目录cd子目录名,进入下级目录CD绝对路径,进入你的绝对路径的目录里如可以在C:\WINDOWS\SYSTEM32下输入cdd:\program\firefox\来进入d:\program\firefox目录里

    2022年10月4日
    2
  • python长度单位换算表_长度单位换算表大全

    python长度单位换算表_长度单位换算表大全长度单位换算表大全我国传统的长度单位有里、丈、尺、寸等。1里=150丈=500米。2里=1公里(1000米)1丈=10尺,1尺=10寸。1丈=3.33米,1尺=3.33分米,1寸=3.33厘米。国际单位制中,长度的标准单位是“米”,用符号“m”表示。1960年第十一届国际计量大会:“米的长度等于氪-86原子的2P10和5d1能级之间跃迁的辐射在真空中波长的1650763.73倍”。其他的长度单位还…

    2022年7月11日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号