一、实验目的
1、熟悉QTP自动化功能测试流程
2、能够利用QTP进行B/S或者C/S架构程序的自动化功能测试 二、实验内容
功能测试是针对应用系统进行测试,是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用。本项目主要使用QuickTest对其自带的MercuryTours网站/飞机票订票系统进行功能测试,要求录制预订机票的完整过程,然后执行测试脚本并分析结果。 三、实验要求
1、 独立完成;
2、 提交测试脚本
3、 提交测试用例说明书及缺陷报告。
四实验内容
1脚本的录制与回放测试及检查点的设置验证
脚本代码:
Dialog("Login").WinEdit("Agent Name:").Check CheckPoint("Agent Name:") '验证乘客名字文本框中的值 标准检查点
Dialog("Login").WinEdit("Agent Name:").Set "123456" '输入用户名
Dialog("Login").WinEdit("Password:").Set "mercury" '输入密码 Dialog("Login").WinButton("OK").Click '单击OK按钮登陆
Window("Flight Reservation").Static("Static").Check CheckPoint("Static") '检查页面中的图片元素是否加载
Window("Flight Reservation").ActiveX("MaskEdBox").Type "011218"
Window("Flight Reservation").WinComboBox("Fly From:").Select "London"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Paris"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "12534 LON 08:00 AM PAR 10:00 AM AF $165.50"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "gcc"
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinEdit("Tickets:").Set "5"
Window("Flight Reservation").WinRadioButton("Business").Set
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close '关闭订票系统
结果
2参数化脚本测试
本案例中将Flight From的选项内容设置为参数化类型
脚本代码
With Dialog("Login")
.WinEdit("Agent Name:").Set "aaaa"
.
WinEdit("Password:").Set "mercury"
.WinButton("OK").Click
End With
With Window("Flight Reservation")
.ActiveX("MaskEdBox").Type "011218"
.WinComboBox("Fly From:").Select DataTable("from", dtGlobalSheet) ‘参数化
.WinComboBox("Fly To:").Select "Sydney"
.WinButton("FLIGHT").Click
With .Dialog("Flights Table")
.WinList("From").Select "12463 LON 03:07 PM SYD 04:48 PM NW $160.40"
.WinButton("OK").Click
End With
.WinEdit("Name:").Set "gcc"
.WinEdit("Tickets:").Set "3"
.WinRadioButton("Business").Set
.WinButton("Insert Order").Click
.Close
End With
wait(1) ‘必须有wait函数回调给第二次循环预留准备时间
结果
脚本录制关键字视图
脚本回放结果
本案例中对Flight系统的用户登陆界面进行参数化的黑盒测试
用到6组测试数据
Username(用户登录) | Password(登录密码) | 描述 |
为空 | “mercury” | 用户名为空,密码正确 |
“aaa” | “mercury” | 用户名少于4个字符,密码正确 |
“aaaa” | “mercury” | 用户名,密码都正确 |
“aaaa” | 为空 | 用户名正确,密码为空 |
“aaaa” | “mercu” | 用户名正确,密码错误 |
“aaaa” | “mer” | 用户名正确,密码少于4个字符 |
| | |
测试脚本
Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet) '输入用户名
Dialog("Login").WinEdit("Password:").Set DataTable("password", dtGlobalSheet) '输入密码
Dialog("Login").WinButton("OK").Click '点击登陆
If Dialog("Login").Dialog("Flight Reservations").Exist Then
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click ' 弹出提示框点击确认按钮
Dialog("Login").Close
else '登陆成功进入订票
Window("Flight Reservation").ActiveX("MaskEdBox").Type "011218"
Window("Flight Reservation").WinComboBox("Fly From:").Select "London"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Paris"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "12274 LON 01:27 PM PAR 03:07 PM NW $155.00"
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set "gcc"
Window("Flight Reservation").WinEdit("Tickets:").Type "5"
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1