`
xianglong_yin
  • 浏览: 10274 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

QTP对象识别常用方法介绍

    博客分类:
  • QTP
 
阅读更多
QTP对象识别常用方法介绍(转自一起测试网)
1 手动更改测试对象属性值,以匹配应用程序中对象的新静态属性。
在对象库中手动修改测试对象的属性

2 使用SetTOProperty方法
可以在运行会话期间使用SetTOProperty方法修改测试对象属性,而不必更改对象库中的属性值。
这种方法不是手动到对象库中修改,而是通过添加脚本来实现,尽管它的效果与手工修改类似,但是因为它可以充分利用编程的灵活性,因此可以实现更为复杂的对象识别。

在原先出错的语句前面加上语句:
object.WinEdit("Customer Name:").SetTOProperty "attached text","Name:"
在运行会话期间设置WinEdit("Customer Name:")对象的"attached text"属性的属性值为"Name:"。这里要注意在运行会话期间这几个字,它并没有把这个属性真的修改了,只是临时改变了对象库中的值,打开对象库发现"attached text"属性值依然是 "Customer Name:"

3 参数化测试对象属性为数据表参数
如果期望属性值在每个测试循环中以可预见的方式发生变化,则可以用数据表参数来参数化测试对象的属性。

4 使用正则表达式
可以使用正则表达式基于您定义的条件或模式标识对象。如果对象的属性是动态变化的,但是它遵循某种规则,如"Fax Order No.[数字]"的格式,这样我们可以使用正则表达式来标识对象。
这里面要注意的是正则表达式定义的模式要能够满足测试的需求,即既能够覆盖对象属性可能的取值范围,又要保证通过它可以识别的对象是唯一的,因此这种方法适合属性动态变化但是遵循某种可以使用正则表达式定义的模式。

5 修改QTP用来标识对象的一组属性
可以修改QTP用来标识对象的一组属性;这样,即便对象的某些属性发生变化,它也能够标识对象。

6 使用描述性编程
可以通过编程实现复杂的对象的操作。
这种方法更加通用且有效,因为描述性编程处理对象有很大的弹性,因此可以使用复杂的编程处理更复杂的对象。
例如:在Flight Finder页面中,旅客个数的选择决定姓名输入框的个数,如选择旅客个数为2,就会出现两对姓名输入框,很明显前面介绍的几种方法都无法解决这个问题

在对象库中,对象被以QTP自己的方式描述,同样我们可以使用自定义的语句来描述它,只要能够清楚地交代QTP目标对象的样子,就可以识别出对象来。

常用的描述对象的方式有以下两种:
1 直接在语句中使用property:=value描述对象,这是最常用的方式,常规语法为:
TestObject("PropertyName1:=propertyValue","...","PropertyNameX:="PropertyValueX")
2 使用Description对象
这种方法把对对象的描述封装在一个特殊的Description对象中,这样就可以把前面的对对象的描述通过对象操作来完成。

SetMyDescription = Descriotion.Create()
MyDescription("propertyName1").Value = "PropertyValue1"
MyDescription("propertyName2").Value = "PropertyValue2"
....
MyDescription("propertyNameX").Value = "PropertyValueX"

7 尝试使用虚拟对象
可以通过将应用程序的任何区域定义为一个虚拟对象,指示QTP将该区域识别为对象。通过虚拟对象,可以在QTP无法识别的对象上录制和运行测试或组件。
点击操作的对象是Flash一样的东西,使用QTP录制不到这种对象,但是我们要做的就是点击这个对象进入到另一个操作界面,只要让QTP像操作按钮一样点击它一下我们就可以继续我们的测试工作了,这时我们就可以使用虚拟对象的功能,把点击的区域虚拟成一个button对象,QTP会把这个虚拟对象记录在虚拟对象集中

8 切换录制模式
低级录制模式使您可以在应用程序中的任何对象上录制,而无论QTP是否识别特定对象或特定操作。
虚拟对象是根据你划分的区域识别的

在低级录制模式下,QTP能够按照屏幕上的x坐标和y坐标录制该对象,将所有父类对象录制为Windows测试对象,将所有的其他对象录制为WinObject测试对象。它们在ActiveScreen中显示为标准Windows对象。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics