1)脚本自动调起应用程序练习
(1) 使用Systemutil.Run打开订票程序(exe)。
2)脚本录制练习(分模块)
(2) 将Login/New Order/Open Order/Logout四个操作分为4个Action, 分别命名为01_Login/02_New Order/03_Open Order/04_Logout
3)对象库练习
(3) 保存Action: 01_Login的本地对象库为NewLogin.tsr
(4) 删除Action: 01_Login的本地对象库。
(5) 关联Action与对象库:01_Login使用共享对象库(用已保存的NewLogin.tsr),并设置共享对象库的路径为相对路径。
4)参数化和增加文本输出练习
(6) 将Action: 02_New Order操作中需要的数据Fly From/FlyTo/Name/Tickets进行参数化,并为每个变量设置3个数据值。
(7) 将Action: 02_New Order操作中得到的Order No.作为输出参数输出到数据表(同步点、标准输出)。
(8) 在Action: 03_Open Order中将数据表里的Order No.作为输入参数;
5)检查点练习
(9) 在Open Order操作中,设置检查点,检查该Order No.中生成的Date of Flight/Fly From/Fly To/Name的信息是否和02_NewOrder中的输入值一致(自定义检查点), 并将检查结果打印在Report中。
(10) 关闭程序。
(11) 定义变量
login界面
'使用Systemutil.Run打开程序
SystemUtil.Run "C:\Program Files (x86)\HP\Unified Functional Testing\samples\flight\app\flight4a.exe"
'登录正确的用户名密码
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "mercury"
Dialog("Login").WinButton("OK").Click
new order界面
'声明变量 totalCounts,randRow,datestr,flyFrom,flyTo,name
Dim totalCounts,randRow,datestr,flyFrom,flyTo,name
Window("Flight Reservation").ActiveX("MaskEdBox").Type "121215"
'Fly From,Fly To参数化
Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("FlyFrom", dtGlobalSheet)
Window("Flight Reservation").WinComboBox("Fly To:").Select DataTable("FlyTo", dtGlobalSheet)
Window("Flight Reservation").WinButton("FLIGHT").Click
'随机数参数化
totalCounts=Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount
randRow=RandomNumber(0,totalCounts-1)
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select randRow
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
'Name,Tickets参数化
Window("Flight Reservation").WinEdit("Name:").Set DataTable("Name", dtGlobalSheet)
Window("Flight Reservation").WinEdit("Tickets:").Set DataTable("Tickets", dtGlobalSheet)
Window("Flight Reservation").WinRadioButton("First").Set
datestr=Window("Flight Reservation").ActiveX("MaskEdBox").GetROProperty("cliptext")
flyFrom=Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("text")
flyTo=Window("Flight Reservation").WinComboBox("Fly TO:").GetROProperty("text")
name=Window("Flight Reservation").WinEdit("Name:").GetROProperty("text")
Window("Flight Reservation").WinButton("Insert Order").Click
'同步点,检查点
wait 6
Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")
'输入到03_Open Order中datestr, flyFrom, flyTo, name,一次迭代
RunAction "03_Open Order", oneIteration, datestr, flyFrom, flyTo, name
open order界面
'嵌套,输入参数
Dim input
Window("Flight Reservation").WinButton("Button").Click
Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"
'Order_No参数化
Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set DataTable("Order_No", dtGlobalSheet)
Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click
'输入从NewOrder中传入的参数
input=Parameter("datestr","flyFrom","flyTo","name")
'设置标准检查点
Window("Flight Reservation").ActiveX("MaskEdBox").Check CheckPoint("MaskEdBox")
Window("Flight Reservation").WinComboBox("Fly From:").Check CheckPoint("Fly From:_2")
Window("Flight Reservation").WinComboBox("Fly To:").Check CheckPoint("Fly To:_2")
Window("Flight Reservation").WinEdit("Name:").Check CheckPoint("Name:_3")
logout界面
Window("Flight Reservation").Close