自动化功能测试
1. 录制Flight程序登录的脚本。
2. 脚本要求: (1) 使用Systemutil.Run 打开程序。
(2) 创建三个 Action,分别为 Login/New Order/Logout, 在 Action 里录制对应的 Login/New Order/Logout 操作。
(3) 保存Action为”New Order”的本地对象库为NewOrder.tsr
(4) 删除Action为”New Order”的本地对象库。
(5) Action 为”New Order”使用共享对象库(引用已保存的 NewOrder.tsr),设置共享对 象库的路径为相对 路径。
6)采用自定义检查点,检查Price*Ticket的价格是否等于Total,并用If语句写出判定成功或者失败后的Reporter.ReportEvent报告语句。
(7) 点击“关闭”。
(8) 结束录制。
3. 导出运行脚本的Report。
每个功能块再不同的操作里面录制
操作步骤:
Login代码:
'设置UFT的打开程序
dim appath
appath="\HP\samples\flight\app\flight4a.exe"
' 使用Systemutil.Run 打开程序
SystemUtil.Run appath
'账号四位字母的就可以
Dialog("Login").WinEdit("Agent Name:").Set "name"
'密码是mercury
Dialog("Login").WinEdit("Password:").SetSecure "5acadc07cd68e99ce86a81c5fb908eacf0e884b7"
Dialog("Login").WinButton("OK").Click
New Order 菜单界面代码:
'输入日期
Window("Flight Reservation").ActiveX("MaskEdBox").Type "020220"
Window("Flight Reservation").ActiveX("MaskEdBox").Type micTab
'选择起点
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
'选择终点
Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
'选择航班
Window("Flight Reservation").WinButton("FLIGHT").Click
'点击选择航班后的Ok 按钮
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "15860 DEN 08:00 AM FRA 09:30 AM DL $173.47"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
'输入姓名
Window("Flight Reservation").WinEdit("Name:").Set "na"
'输入票数
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinEdit("Tickets:").Set "2"
'选择席位
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinButton("Insert Order").Click
'采用自定义检查点,检查Price*Ticket的价格是否等于Total,并用if语句写出判定成功或者失败后的Reporter.ReportEvent报告语句
Dim Price,prices,Ticket,tickets,Total,totals '声明变量并分配存储空间
Price=Window("Flight Reservation").WinEdit("Price:").GetROProperty("text")'获取单价框内容
prices=mid(price,2)'Mid从字符串中返回指定数目的字符 从第二位读取单价框内容,去除dollar符号,只取数值位
msgbox"prices:"&prices'msgbox在对话框中显示消息,等待用户单击按钮,并返回一个值指示用户单击的按钮。
Ticket=Window("Flight Reservation").WinEdit("Tickets:").GetROProperty("text")'获取票数框内容
msgbox"tickets:"&Ticket
Total=Window("Flight Reservation").WinEdit("Total:").GetROProperty("text")'获取总价框内容
totals=mid(Total,2)'Mid从字符串中返回指定数目的字符 从第二位读取单价框内容,去除dollar符号,只取数值位
msgbox"totals:"&totals
msgbox "系统报价:"&totals& vbcrlf & "计算报价:"&prices*Ticket '比较 总价 与 票数 X 单价
If abs(totals-cdbl(prices*ticket))<0.00001 Then 'ABS函数取绝对值
Reporter.ReportEvent micPass, "价格比较", "相等"'将定义的事件提交到结果日志中
Else
Reporter.ReportEvent micFail, "价格比较", "不相等"
End If
Logout 退出界面代码:
("Flight Reservation").WinMenu("Menu").Select "File;Exit"
提示:
如果需要免费的VBS中文帮助文档,可以私聊我!