软件测试flight,利用描述性编程测试QTP中的Flight航班例子

本文详细介绍了QTP中的描述性编程,包括静态编程描述和动态编程描述,通过实例展示了如何在运行时动态识别和操作对象。在登录对话框和主窗口的交互中,静态编程描述用于登录,动态编程描述用于主窗口的日期输入和地点选择等操作,体现了两种编程方式的灵活性和实用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述性编程(Descriptive Programming), 在QTP文档中又称Programmatic Descriptions,是QTP的一种运行时动态识别对象的的机制。在运行时通过代码中指定的对象属性来识别对象,这样不需要事先在respository中保存要识别的对象信息,如:

Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set "wheetle"

表示识别text内容为"Login"的对话框,再定位对话框中attached text为"Agent Name"的文本框,然后在文本框中输入"wheetle".

描述性编程有两种方式:静态编程描述(Static Programmatic Descriptions)和动态编程描述(Dynamic Programmatic Descriptions)。前者直接在一个VB语句中指定对象属性值,如上面的例子。后者创建Description对象然后把对象属性保存到Description对象中。前者的优点是代码简洁方便,后者的优点是代码可灵活应用,便于维护和修改。特别是对象的属性值可以被定义在外部数据文件,在运行时再载入,有利于代码的通用性。

以下代码使用静态编程描述来识别Flight的登录对话框,用动态编程描述来识别主窗口 (代码在Win7 64bits + QTP 11 下运行通过):

'登录对话框Dialog("Regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set "wheetle"

Dialog("Regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Type  micTab

Dialog("Regexpwndtitle:=Login").WinEdit("attached text:=Password:").SetSecure "50cfda13f88e1aff562c68b65791e88de04949ba"

Dialog("Regexpwndtitle:=Login").WinEdit("attached text:=Password:").Type  micReturn

wait(5)'等待主窗口载入,该值可设为变量

Dim winRez '主窗口Flight Reservation对象

Set winRez = Description.Create() '创建一个Description对象,并绑定主窗口的类名和titlewinRez("Class Name").Value = "Window"

winRez("Regexpwndtitle").Value = "Flight Reservation"

'输入日期并选择地点'注意:日期输入框对QTP来说是陌生对象,所以事先要用对象映射把它映射为SingleLine Edit对象,见截图Window(winRez).WinEdit("attached text:=Date of Flight:" , "nativeclass:=MSMaskWndClass").Type "010113"

Window(winRez).WinEdit("attached text:=Date of Flight:" , "nativeclass:=MSMaskWndClass").Type micTab

Window(winRez).WinComboBox("attached text:=Fly From:").Select "Paris"

Window(winRez).WinComboBox("attached text:=Fly To:").Select "Portland"

'打开航班列表对话框选择航班Window(winRez).WinButton("text:=FLIGHT").Click

Dialog("text:=Flights Table").WinButton("text:=OK").Click

'回到主窗口,输入名字并下单Window(winRez).WinEdit("attached text:=Name:" , "nativeclass:=Edit").Set "wheetle"

Window(winRez).WinButton("text:=&Insert Order").Click '该按钮设置了快捷键,所以不能缺少&,否则无法识别

wait(5) '等待下单完成,该值可设为变量

9427f9801310a8d2112dc646a2c33745.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值