51Testing独家连载:(二十三)精通QTP——自动化测试技术领航

发表于:2012-1-11 13:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

  ● 运行结果与分析。

  获得Link对象在对象库中记录的属性“text”的值,并返回给变量ValueOfTo,最后以对话框形式显示这个值,显示后的结果如图1-158所示。

图1-158

  从图1-158中可以看到,已经成功获取到了该对象的“text”属性值并弹出对话框显示。在这里,读者需要注意,如果在实际运行的过程中,“text”属性已经发生了改变,假设变成了“贴吧”,在这里仍然是获取到“新闻”这个值,因为GetToProperty这个方法就是获取对象库中的对象的属性值。

  企业项目案例臆测。

  如果项目中碰到这样一个需求:界面上有一个test1的下拉框控件,每次在刷新页面后都会选中默认值A,现在业务中需要选择其他值,我们需要用QTP做比较。像碰到这种案例时,就可以通过使用GetToProperty和GetRoProperty(后面会讲到)这两个方法协助完成,只要在下拉框选中默认值的时候将其加入对象库,这样对象库中的记录值就永远会是这个默认值了,然后在实际运行时选取其他值,并获取此时这个对象的实际选取的值,最后对两个值做一个比较,通过这个思路就能解决这个需求了。

  2.GetTOProperties()

  ● 基本含义:获取对象库中某个对象的所有属性的值。

  ● 公式:ReturnValue =对象.GetTOProperties()。

  ● 基础示例:

Set TestObject  = Browser("百度一下,你就知道").Page("百度一下,你就知道").Image("百度首页logo")  '1

Set Properties = TestObject.GetTOProperties()  '2

PropertiesCount = Properties.Count  '3

Print "对象总计存在" & PropertiesCount & "个封装属性"   '4

For i = 0 To PropertiesCount – 1  '5

   PropName = Properties(i).Name

   PropValue = Properties(i).Value

   Print  PropName & " = " & PropValue

Next

Set Properties = Nothing  '6

Set TestObject = Nothing  '7

  ● 运行结果与分析。

  首先,GetTOProperties这个方法获取的是一个数组,这个务必要清楚。因为是数组,所以想要一个个打印属性值的前提条件就是,先要得到对象的属性个数,然后再通过循环的方法把一个个属性和属性值打印出来。但是,GetTOProperties并没有提供Count方法,所以,只能通过其他方式去获得对象属性的Count(见代码片中的1~3)。在获取到Count以后,就能够一个个将值读出来了(见3~5),当然,最后也别忘了释放对象(见6~7)。

  为了更好地显示结果,所以才在这里使用了Print函数(QTP自带的函数,调用后会将一些信息填写到Print Log窗口中),最后就让我们一起来看一下打印结果,如图1-159所示。

图1-159

  ● 企业项目案例臆测。

  一般情况下,在项目中很少会使用到GetTOProperties这个方法,因为通常不会碰到需要使用到这个方法的需求。所以,GetTOProperties这个方法也是所有操作对象属性中最少使用的一个方法,也正是因为如此,作者才没将本小节的标题写成“四兄弟”。

52/5<12345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号