GetROProperty和GetROProperty的区别

上一篇 / 下一篇  2010-03-19 13:15:25 / 个人分类:QTP

1、 QTP的录制过程:

(1)      定位用于描述当前操作对象的测试对象类,并创建相应的测试对象。

(2)      读取当前操作对象属性的当前值,并存储一组属性和属性值到测试对象中。

(3)      为测试对象创建一个有别于其他对象的名称,通常使用一个突出属性的值,如text值。

(4)      记录在对象上执行的操作。

2、 QTP的回放过程

(1)      根据脚本中对象的名称在对象库(OBJECT REPOSITORY)中查找相应的对象。

(2)      读取对象的描述,即对象的属性和属性值。

(3)      基于对象的描述,QTP在被测试应用程序中查找相应的对象。

(4)      执行相关的操作。

与对象相关的四个函数分别如下:

GetTOProperty():取得仓库对象的某个属性的值

GetTOProperty():取得仓库对象的所有属性的值

SetTOProperty():设置仓库对象的某个属性的值

GetROProperty():取得实际对象的某个属性的值

取QTP的Sample-flight实例,录制登录界面,用户名任意,密码为:mercury

其中:

按下登录确认按钮的脚本是:

Dialog("Login").WinButton("OK").Click

在该句前面添加脚本:

'读取运行时实际对象的属性值text

msgbox Dialog("Login").WinButton("OK").GetROProperty("text") 

'读取仓库对象的属性值text

msgbox Dialog("Login").WinButton("OK").GetTOProperty("text") 

'设置仓库对象的属性值text为123

Dialog("Login").WinButton("OK").SetTOProperty "text","123"    

'读取运行时实际对象的属性值text

msgbox Dialog("Login").WinButton("OK").GetTOProperty("text") 

'读取仓库对象的属性值text
msgbox Dialog("Login").WinButton("OK").GetROProperty("text") 

回放时,头三句MSGBOX分别打印出:OK,OK,123

执行到第四句MSGBOX时,系统报错,见下图。

 

分析报错的原因:

QTP运行回放期间在对象库中搜索WinButton对象,通过名称“OK”来查找其“描述”。

QTP根据找到的“描述”,在被测试应用程序中查找WinButton对象,该对象带有text属性为“OK”,找到对象后将对其执行Click方法。

因此:

msgbox Dialog("Login").WinButton("OK").GetROProperty("text")之所以会报错,是因为QTP根据name去找对象库的对象,找到后,获取其属性text,再去实际系统中找匹配的对象,由于在这步之前已经把仓库对象text的属性设置为123,因此QTP在实际系统中就找不到text=123的对象了,系统就报错,说找不到对象。

再试下这个

msgbox Dialog("Login").WinButton("text:=OK").GetROProperty("text")

打印出来的是OK

这句是描述性编程,QTP不需要去对象库中找仓库对象再进行匹配,直接在实际系统中根据text=OK去找对象,因此可以执行通过。

 

 

 

 


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 4757
  • 日志数: 17
  • 建立时间: 2009-03-12
  • 更新时间: 2010-08-06

RSS订阅

Open Toolbar