实验报告封面
课程名称: QTP自动化测试技术课程代码:ST2003
任课老师:毛养红 实验指导老师:毛养红
实验报告名称:QTP课程
报告
学生姓名: 吴思越
学号: 1540129231
教学班:KW
递交日期:2017-5-1
签收人:
我申明,本报告内的实验已按要求完成,报告完全是由我个人完成,并没有抄袭行为。我已经保留了这份实验报告的副本。
申明人(签名):吴思越
实验报告评语与评分:
评阅老师签名:
一、实验名称:QTP课程设计报告
二、实验日期:2017年 4月18日
三、实验目的:测试Flight订票系统的登录功能、订票功能
四、实验用的仪器和
:
硬件:PC电脑一台;
配置:内存,2G及以上硬盘250G及以上
软件环境:QTP11、Flight订票系统
5、实验的步骤和方法:(以下4点均为分开实验)
1、描述性编程的登录参数化,大数据测试。
Dim obj1
Set obj1= Description.Create()
obj1("Class Name").Value="Dialog"
For i=0 to DataTable.GetSheet("Global").GetRowCount
Dialog(obj1).WinEdit("Attached text:=Agent Name:").Set DataTable("username", dtGlobalSheet)
Dialog(obj1).WinEdit("Attached text:=Password:").SetSecure DataTable("password", dtGlobalSheet)
Dialog(obj1).WinEdit("Attached text:=Password:").Type micReturn
Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"
SystemUtil.Run "C:\Program Files (x86)\HP\QuickTest Professional\samples\flight\app\flight4a.exe"
Next
2、描述性编程及登录测试
'写一个循环,读取datatable的每一行测试用例
Dim i '定义变量i
Dim outputvalue '定义变量实际得到的输出
Dim istatus '定义变量希望得到的输出
For i=1 to datatable.GetSheet("Action1").getrowcount '从第一行,读到datatable的最后一行
Dialog("regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set DataTable("AgentName", dtLocalSheet)
Dialog("regexpwndtitle:=Login").WinEdit("attached text:=Password:").SetSecure DataTable("Password", dtLocalSheet)
Dialog("regexpwndtitle:=Login").WinButton("name:=OK").Click
Dialog("regexpwndtitle:=Login").Dialog("Flight Reservations").Static("Agent name must be at least 4 characters long.").Output
CheckPoint("Agent name must be at least 4 characters long.")
Dialog("regexpwndtitle:=Login").Dialog("Flight Reservations").WinButton("确定").Click
outputvalue=datatable("outmsg",dtlocalsheet) '获取该次循环的实际输出
istatus=datatable("status",dtlocalsheet) '获取该次循环的预期输出
If outputvalue<>istatus Then
Reporter.ReportEvent micFail,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"不相同!" '报错
else
Reporter.ReportEvent micPass,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"相同!" '报对
End If
datatable.GetSheet("Action1").setnextrow '获取下一行测试用例
Next
Dialog("Login").WinButton("Cancel").Click
Dialog("Login_2").WinButton("Cancel").Click
3、写描述性编程:登录及买票的脚本。
'登录对话框
Dialog("Regexpwndtitle:=Login").WinEdit("attached text:=Agent Name:").Set "AAAA"
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对象,并绑定主窗口的类名和title
winRez("Class Name").Value = "Window"
winRez("Regexpwndtitle").Value = "Flight Reservation"
'输入日期并选择地点
Window(winRez).WinEdit("attached text:=Date of Flight:" , "nativeclass:=MSMaskWndClass").Type "101017"
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) '等待下单完成,该值可设为变量
4、循环遍历的脚本编写,测试为完成
Dialog("Login").WinEdit("Agent Name:").Set "AAAA"
Dialog("Login").WinEdit("Password:").SetSecure "58f86e7bc1df31117e206e928d7e5c3a2da74bf8"
Dialog("Login").WinEdit("Password:").Type micReturn
Window("Flight Reservation").WinObject("Date of Flight:").Type "101017"
For i=0 to Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount '第一个下拉菜单组
Window("Flight Reservation").WinComboBox("Fly From:").Select i'开始遍历
For k=0 to Window("Flight Reservation").WinComboBox("Fly To:").GetItemsCount-1'Window("Flight Reservation").WinComboBox("Fly To:").Select k '开始遍历
Window("Flight Reservation").WinButton("FLIGHT").Click'选择航班键
For p=0 to Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount'选择航班列表