欢迎来到天天文库
浏览记录
ID:14622162
大小:101.87 KB
页数:9页
时间:2018-07-29
《qtp对象识别机制》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、QTP对象识别机制(转载)测试对象模型是一大组对象类型或类,比如WebElement、WebList,QTP用这些对象类型和类来表示Web页面中的对象。每个测试对象类都有一个可以唯一标识对象的属性列表以及可以录制的方法,这个属性列表和方法列表是可以设置的,见图: 在ObjectIdentification对话框中设置的属性录制完后都可以在ObjectRepository中查看。属性的具体分类见下一小节。 QTP里的对象分两个概念,一个是TestObject(简称TO)测试对象,一个是RuntimeObject(简称RO)运行时对象。这两个概
2、念从字面上不大好理解,也容易混淆。但从实际作用上来看,应该说TO就是是仓库文件里定义的仓库对象,RO是被测试软件的实际对象。QTP识别对象,一般是要求先在对象仓库文件里定义仓库对象,里面存有实际对象的特征属性的值。然后在运行的时候,QTP会根据脚本里的对象名字,在对象仓库里找到对应的仓库对象,接着根据仓库对象的特征属性描述,在被测试软件里搜索找到相匹配的实际对象,最后就可以对实际对象进行操作了。仓库对象TO一般在录制/编写脚本时加入仓库文件,它不仅可以在录制编写时进行修改,也可以在运行过程中进行动态修改,以匹配实际对象。和TO、RO相关的几个函
3、数有: GetTOProperty():取得仓库对象的某个属性的值 GetTOProperties():取得仓库对象的所有属性的值 SetTOProperty():设置仓库对象的某个属性的值 GetROProperty():取得实际对象的某个属性的值理解了TO的含义,你就可以自由的用SetTOProperty()定义TO,以灵活的操作RO比如有个测试任务,窗口上有很多待检查的记录,每条记录右边都有一个Check按钮,用来检查各条记录。记录个数不定,所以Check按钮个数也就不定,只有一个Edit显示记录个数。我们要对每条记录进行检查,也
4、就是要点击每个Check按钮。但是Check按钮个数不定,不好录制,而且个数可能也很多(上百个),即使能一一录制,那也很麻烦。那我有一个好办法,只录制一个按钮对象,它设有两个特征属性label=OK,index=0然后用下面的脚本,就可以完成测试buttonNum=CInt(JavaWindow("Test").JavaEdit("RecordNum").GetROProperty("value"))ForbuttonIndex=0tobuttonNum-1JavaWindow("Test").JavaButton("Check").SetTO
5、Property("index",buttonIndex)JavaWindow("Test").JavaButton("Check").ClickNext或者窗口上有New、Modify、Delete、Check等好几个按钮,要把这几个按钮一一按过去我在对象仓库里只设置一个按钮对象AnyButton,label特征属性值填任意值,然后用下面脚本执行测试JavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label","New")JavaWindow("Test").JavaButt
6、on("AnyButton").ClickJavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label","Modify")JavaWindow("Test").JavaButton("AnyButton").ClickJavaWindow("Test").JavaButton("AnyButton").SetTOProperty("label","Delete")JavaWindow("Test").JavaButton("AnyButton").ClickJavaWindow
7、("Test").JavaButton("AnyButton").SetTOProperty("label","Check")JavaWindow("Test").JavaButton("AnyButton").Click 脚本描述定义访问对象如果Web对象没有被添加到对象库中,或者通过该Web对象的标识QTP无法识别,即对象库中没有该对象,那么可以用另一种方式:在脚本中用描述性编程来定义访问对象常规语法为:TestObject("PropertyName1:=PropertyValue1","PropertyName2:=PropertyVa
8、lue2"...)+具体操作如DimbuttonIndexbuttonIndex=1JavaWindow("Test").JavaButton("la
此文档下载收益归作者所有