联系我:新浪微博@阳光下的云朵2012或者zhangcaiyun_86#163.com(将#换成@)
QTP视频学习之描述性编程
上一篇 /
下一篇 2012-02-24 17:16:29
1.什么时候使用描述性编程
2.运行原理
3.使用方法
4.特点
1.什么时候使用?
在
测试过程中,有些界面元素是动态出现或动态变化的,在录制的时候并没有添加到对象库中,所以要使用描述性编程
2.运行原理?
QTP会使用测试脚本中给出来的对象描述来查找对象,查找的位置不是对象库,而是与测试程序运行时QTP为其创建的临时对象版本进行匹配
3.使用方法?
1)直接并描述的方法
TestObject("PropertyName1:=PropertyValue1","...")
(1)录制的原始脚本如下:
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "4f483572113729e4fa6c5c357a36fb2b4edb4f61"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
运行结果见图一
(2)现在将Resource->Object Repository中左面的Agent Nane对象删除,运行报错结果见截图二
(3)处理方法:用描述性编程解决,脚本如下
Dialog("Login").WinEdit("attached text:=Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "4f483572113729e4fa6c5c357a36fb2b4edb4f61"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"运行截图见图三
2)使用Description对象的方法
脚本如下:
Set myDesc=Description.Create()
myDesc("attached text").value="Agent Name:"
Dialog("Login").WinEdit(myDesc).Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "4f4817d45a6989fe489df0346e5773a301c0804b"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"运行截图见图四
4.特点
如果在测试对象层次结构的某一点开始使用了描述性编程,则该测试对象层次结构下的后续测试对象都要使用描述性编程的方式来描述对象。(后续强迫性)
收藏
举报
TAG: