QTP飞机订票测试实例
QTP自带的飞机订票功能考试报告

Reporter.ReportEvent micFail,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"不相同!" '报错
ﻩelse
ﻩReporter.ReportEvent micPass,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"相同!" '报对
图2-01
第二步:在QTP主界面中单击“Record”,在登陆界面的文本框中,输入正确的用户名和密码,单击“OK”按钮,进入飞机订票系统界面。在QTP主界面,单击“Stop”按钮,结束当前的录制,如图2-02;
图2-02
录制的脚本代码为:
'写一个循环,读取datatable的每一行测试用例
Dim i '定义变量i
指导教师:*****
测试目标
了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写,能够测试登录功能、订票功能。其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试。
Dim outputvalue '定义变量实际得到的输出
Dim istatus '定义变量希望得到的输出
For i=1 to datatable.GetSheet("Action1").getrowcount '从第一行,读到datatable的最后一行
飞机订票系统测试报告

飞机订票系统功能测试报告课题名称飞机订票系统功能测试报告系/专业班级学号学生姓名指导教师:第一章QTP自动化测试介绍1.1概述QTP是HP公司开发的功能自动化测试工具。
相对于手工测试,QTP自动化测试比人工测试快得多,同时可以避免人工测试的错误,因此,随着测试技术的发展,自动化测试逐渐成为测试的一个重要测试工具。
1.2测试介绍本次课程的内容就是学习QTP自动化测试工具,以飞机订票系统为实例,通过飞机订票的过程,包括登陆、订票、删除等一系列功能操作,运用QTP自动化测试工具来进行具体测试操作,从而来了解并学习QTP自动化测试工具。
在使用QTP进行自动化测试时,所包含的几个步骤:1、准备录制;2、创建对象库;3、创建函数和函数库;4、录制执行;5、强化测试脚本;6、调试脚本;7、在回归测试中运行测试;8、分析结果,报告问题。
按照以上步骤,对飞机订票系统的各个功能进行自动测试,完成系统的测试工作。
1.3 测试内容对于飞机订票系统的自动化测试,首先要熟悉了解一下这个飞机订票系统的基本运行流程,从登陆到订票到查询、删除等一系列基本功能的操作,在对系统流程了解后,再开始对其中的一些功能进行测试工作。
在对这个飞机订票系统,此次测试内容有登陆功能,其中登陆功能测试包含一个用户正确登陆、设置参数可以进行多个用户(正确和错误的)的登陆以及运用手工登陆的方法进行测试,在订票功能中,有对订票是否成功的测试、设置检查点以及循环所有航班的测试,另外还有传真订单的录制,其中有录制签名和录制模式,除此之外还有与数据库的链接等一些简单的功能测试。
1.4测试目标本次课程主要目标就是了解熟悉并学习简单的自动化测试工具,能运用基本的测试工具,对系统进行简单的自动化测试。
对于QTP自动化测试的测试目标:熟悉QTP自动化测试工具及其基本功能掌握QTP自动化测试的基本测试步骤运用QTP测试工具对系统进行简单的自动化测试在QTP测试中,能写出基本的脚本语言对于飞机订票系统的测试目标:测试登陆功能,包括单个用户能否正确登陆、多个用户的正确和错误是否能正确登陆,以及手工能否登陆的测试 订票功能的测试,其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试传真和删除订单的测试,在传真测试中,录制签名后,进行播放时签名是能否播放出来,对于订单的删除,进行脚本语句的编写,能否成功完成测试第二章测试计划及测试环境搭建2.1测试原理分析QTP主要采用的是GUI模拟人的操作。
7、QTP自动化测试教程(精)

8.2.3 使用随机数来进行参数化对于选择航班这个测试步骤的参数化来说会有所不同, 因为航班会跟随所选择的起点和终点而变化,因此,需要做特殊的处理。
如下代码所示:' 取得航班列表的行数ItemCount = Window("Flight Reservation".Dialog("FlightsTable".WinList("From".GetItems Count' 随机选取其中一项SelectItem = RandomNumber(0, ItemCount' 选择航班Window("Flight Reservation".Dialog("Flights Table".WinList("From".Select SelectItem 先通过访问 GetItemsCount 属性,获取航班列表的行数,然后使用RandomNumber 随机选取其中一项,最后,再通过 Select 方法选择航班。
参数化后的测试步骤如图 8.9所示。
图 8.9 参数化后的测试步骤提示:使用随机数也是测试脚本参数化的一种重要方法,在的测试代码中, 可用RandomNumber 来实现, 在关键字视图编辑的界面如图 8.10所示, 其效果与在脚本中直接编辑是一样的。
图 8.10 选择参数化方式为“Random Number”8.2.4 参数化检查点测试脚本的最后一个测试步骤是检查订票记录中的航班终点是否正确, 同样需要进行适当的参数化,方法如下:(1单击检查点所在测试步骤的“Value” 列中的单元格,如图 8.11所示。
图 8.11 设置检查点参数(2单击旁边的按钮,则出现如图 8.12所示的界面。
QTP安装及Flight飞机订票系统录制演示

QTP安装及Flight飞机订票系统录制演示(一)Q TP安装1、安装包目录:\\QTP9.5\setup.exe;2、将QTP9.5安装包复制到本地目录下,打开并运行..\QTP9.5\QTP95-T6510-15059\setup.exe文件,按照安装向导进行安装即可;注意在安装过程中需选择图1中安装类型为“自定义”进入下一步选中Java Add-in(将安装在本地硬盘驱动器上)如图2:图1图23、将要测试的应用程序pbsrun文件夹拷贝到C:\ 根目录下;4、编辑C:\ pbsrun\PowerBranchTeller31.bat文件;添加“set qtp=C:\Progra~1\HP\QuickT~1\bin\java_shared\bin”添加连接符“+”将-Djava.library.path=%DLLDIR%移到图3中所指的位置,并在%DLLDIR%前添加“%qtp%”用“;”隔开如图3:图3注:1、在启动QTP9.5安装程序时可能会碰到图4的情况图4我们需把注册表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations]删除掉;2、在进行QTP9.5安装过程中会出现如图5,我们点击“取消”键即可完成QTP9.5的安装了。
图53、安装完成后,我们启动QTP应用程序,弹出License Warning 的警告页面,点击“Install License”按钮,如图6;在进入的界面中选择License Type为“Concurrent licens”点击“下一步”,如图7;界面中输入License服务器的地址:xxxx即可完成与License服务器的连接,如图8。
图6图7图8(二)Q TP进行测试流程(以QuickTest Professional中自带的Flight订票系统为例)1、准备录制➢在录制测试前,确认应用程序和QTP已按测试要求设置。
QTP飞机订票系统测试用例

项目名称 飞机订票系统 项目编号 001开发人员 No_1 模块信息 登录页面用例作者 No_1 参考信息 需求说明、设计说明测试类型 功能测试 设计日期2012年12月5日测试人员 ***测试方法 手工测试和自动化测试结合 测试日期 2012年12月13日测试对象 测试用户能否正常登陆前置条件存在正确的用户名:登陆页面正常装载(用户名不固定,密码为mercury不区分大小写)用例编号 操作 输入数据 预期结果 实际结果 测试状态 01 输入正确的用户名、正确的密码,按Enter键用户名:mingzi,密码:mecury正常登陆 正常登陆,转入对应的系统页面Pass02输入正确的用户名,正确的密码(没区分大小写),按Enter键用户名:mingzi,密码:MERTURY/mecury正常登陆正常登陆,转入对应的系统页面Pass03输入的用户名为空,正确的密码(没区分大小写),按Enter键密码:MERTURY登陆失败提示请输入用户名fail04输入正确的用户名,密码为空,按Enter键用户名:mingzi登陆失败 提示请输入密码 fail05输入的用户名和密码均为空,按Enter键登陆失败 提示请输入用户名 fail06输入错误的用户名,正确的密码(没区分大小写),按Enter键用户名:zi,密码:MERTURY/mecury登陆失败提示请输入大于4个字符长度的用户名 fail07 输入正确的用户名,错误的密码(没区分大小写),按Enter键用户名:mingzi,密码:mer登陆失败提示请输入大于4个字符长度的密码fail08 输入正确的用户名,错误的密码(没区分大小写),按Enter键用户名:mingzi,密码:memememe登陆失败提示密码错误,请重试fail09 输入错误的用户名,错误的密码,按Enter键用户名:%45#@,密码:¥2wsgh登陆失败 提示登录不成功,请重试fail10 输入错误的用户名或者密码(没区分大小写)次数过多时,按Enter键用户名:mingzi,密码:Hoho (错误大于6次)登陆失败提示错误次数太多,不能再登录了fail开发人员 No_2 模块信息 订票页面用例作者 No_2 参考信息 需求说明、设计说明测试类型 功能测试 设计日期 2012年12月5日测试人员 ***测试方法 手工测试和自动化测试结合 测试日期2012年12月13日测试对象 测试用户能否正常订票前置条件 正常登录到订票界面,且输入正确的时间、起始地、目的地用例编号 操作 输入数据 预期结果 实际结果 测试状态01 输入正确的时间、起始地、目的地,按“flight”按钮时间:12/26/12起始地:Zurich目的地:Denvver正常订票正常订票,点击Flights转入对应的FlightsTable页面Pass02 输入的时间为空,正确的起始地起始地:Denvver不能订票提示请输入航班日期Fail03 输入错误的时间,不符合常规时间:12/66/36不能订票输入的日期无效。
QTP安装及Flight飞机订票系统录制演示

QTP安装及Flight飞机订票系统录制演示(一)QTP安装1、安装包目录:\\QTP9.5\setup.exe;2、将QTP9.5安装包复制到本地目录下,打开并运行..\QTP9.5\QTP95-T6510-15059\setup.exe文件,按照安装向导进行安装即可;注意在安装过程中需选择图1中安装类型为“自定义”进入下一步选中Java Add-in(将安装在本地硬盘驱动器上)如图2:图1图23、将要测试的应用程序pbsrun文件夹拷贝到C:\ 根目录下;4、编辑C:\ pbsrun\PowerBranchTeller31.bat文件;添加“set qtp=C:\Progra~1\HP\QuickT~1\bin\java_shared\bin”添加连接符“+”将-Djava.library.path=%DLLDIR%移到图3中所指的位置,并在%DLLDIR%前添加“%qtp%”用“;”隔开如图3:图3注:1、在启动QTP9.5安装程序时可能会碰到图4的情况图4我们需把注册表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\PendingFileRenameOperations]删除掉;2、在进行QTP9.5安装过程中会出现如图5,我们点击“取消”键即可完成QTP9.5的安装了。
图53、安装完成后,我们启动QTP应用程序,弹出License Warning 的警告页面,点击“Install License”按钮,如图6;在进入的界面中选择License Type为“Concurrent licens”点击“下一步”,如图7;界面中输入License服务器的地址:xxxx即可完成与License服务器的连接,如图8。
图6图7图8(二)QTP进行测试流程(以QuickTest Professional中自带的Flight订票系统为例)1、准备录制在录制测试前,确认应用程序和QTP已按测试要求设置。
软件开发与项目管理-KC0210000017_Flight航空订票系统测试

模块五软件测试案例--Flight 航空定票系统一、案例描述HP公司,QTP测试软件自带Flight 航空定票系统软件登录模块、定票模块的用例设计和QTP测试脚本的开发。
二、案例要求1、通过实验掌握”用例设计”2、掌握QTP测试脚本各种处理方法的开发3、保存测试结果4、分析测试结果三、案例实现步骤(一)测试需求Flight 航空定票系统测试需求如下:1、登录模块:用户名和口令4~10 位2、定票模块不同用户登录,定购不同的机票;根据日期、定单号、姓名查询定单。
(二)实现步骤1.编写测试用例表2 Flight 航空定票系统定票模块测试用例2.编写自动化测试程序步骤:(1)运行QTP软件,待打开后新建一个Test,点击工具栏上的“Record”按钮,打开飞机订票系统进行脚本的录制,然后点击“stop”按钮,结束录制;(2)将要进行验证的地方设置参数化:图1 测试用例(1)图2 测试用例(2)(3)点击“run”按钮,回放程序,通过程序回放过程中的正确与否,进行修改程序;测试脚本部分程序:Starter'应用程序的路径Sub StarterSystemUtil.Run Environment("Flyurl")End Sub'用函数来验证状态Public Function testRegExp(ByVal patrn, ByRef sour)' TODO: add function body hereDim regEx ' Create variable.Set regEx = New RegExp ' Create regular expression.regEx.Pattern = patrn ' Set pattern.regEx.IgnoreCase = true ' Set case sensitivity.regEx.Global=trueif regEx.Test(sour)=true Thenreporter.ReportEvent micPass,"登录失败!",cstr(sour) Elsereporter.ReportEvent micFail,"出现异常","提示信息不正确!"End IfEnd Function'定义变量Dim insertNum,insertbegin, istest,istatus,iselectorder,orderid'从DataTable中取值insertNum=DataTable("iCount",dtGlobalSheet)insertbegin=DataTable("begin",dtGlobalSheet)iselectorder=DataTable("SelectOpen",dtGlobalSheet)print iselectorderistest=datatable.Value("status")'登录界面Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtGlobalSheet) Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click'判断是否有子提示框出现If Dialog("Login").Dialog("Flight Reservations").Exist Then'取子提示框上的提示信息istatus=Dialog("Login").Dialog("Flight Reservations").Static("Please enter agentname").GetROProperty("text")testRegExp istest,istatusDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").CloseElsereporter.ReportEvent micPass,"登录成功","登录成功!"DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)For i=1 to insertNumsearchorderDataTable.GetSheet("Action1").SetNextRowNextopenorder(iselectorder)Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"End If'打开新订单,并填写信息Sub searchWindow("Flight Reservation").WinMenu("Menu").Select "File;New Order"Window("Flight Reservation").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet) Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("FlyFrom", dtLocalSheet)'若时间不完整,弹出对话框时的处理If Window("Flight Reservation").Dialog("Flight Reservations").Exist Thensstatus=Window("Flight Reservation").Dialog("Flight Reservations").Static("Please enter a flight").GetROProperty("text")Window("Flight Reservation").Dialog("Flight Reservations").WinButton("确定").ClickWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type "051212"End IfWindow("Flight Reservation").WinComboBox("Fly To:").Select DataTable("FlyTo", dtLocalSheet)Window("Flight Reservation").WinButton("FLIGHT").Click'随机取航班iCount = Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount Window("Flight Reservation").Dialog("Flights Table").WinList("From").SelectRandomNumber(0,iCount-1)Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").ClickEnd Sub'选择座位,获取定单号Sub orderWindow("Flight Reservation").WinEdit("Name:").Set DataTable("passageName", dtLocalSheet)Window("Flight Reservation").WinRadioButton(DataTable("seat",dtLocalSheet)).ClickWindow("Flight Reservation").WinButton("Insert Order").ClickWindow("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text","Insert Done...",10000orderid = Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")DataTable("OrderNum",dtLocalSheet)=orderidEnd Sub'选择查询方式Sub openorder(iselectorder)DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)For i=1 to insertNumIf iselectorder=1 Then'按姓名查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").SetDataTable("passageName", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=2Then'按时间查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Set "ON"Window("Flight Reservation").Dialog("Open Order").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=3 then'按时间和姓名查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").SetDataTable("passageName", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Set "ON"Window("Flight Reservation").Dialog("Open Order").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=4 then' 按编号查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"print DataTable("OrderNum",dtLocalSheet)print orderidWindow("Flight Reservation").Dialog("Open Order").WinEdit("Edit_2").SetDataTable("OrderNum",dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickEnd ifEnd ifEnd ifEnd IfDataTable.GetSheet("Action1").SetNextRowNextEnd Sub(4)测试执行报告图3 运行结果(1)图4 运行结果(2)图5 运行结果(3)。
QTP测试飞机订票测试

华 东 交 通 大 学课 程 设 计 报 告 书所属课程名称 自动化测试技术题目 院 (系) 软 件 学 院 班 级学 号学生姓名 指导教师 严丽平 辅导教师 严丽平2013年 7月5 日课程设计(论文)任务书软件学院软件工程(软件测试)专业2010-班一、课程设计(论文)题目基于QTP的功能测试二、课程设计(论文)工作自 2013年 7月 1 日起至 2013 年 7月 5 日止。
三、课程设计(论文) 地点: 创新大楼软件实训中心机房四、课程设计(论文)内容要求:1.本课程设计的目的(1)使学生能掌握网站功能测试的基本思路和方法,学会使用自动化测试工具QTP进行功能测试;(2)培养学生分析、解决问题的能力;(3)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)对默认环境和条件(要求详细记录环境条件)下,构造正确的输入进行正常功能需求的测试,使用常见的检查点测试,并将输入进行参数化;(2)测试系统在异常环境下的功能需求变化,并对测试的结果进行分析和汇总;(3)相应驱动的编写。
2)创新要求:在基本要求达到后,可对被测系统进行探索性测试。
3)课程设计论文编写要求(1)要按照书稿的规格打印书写课程设计论文(2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录等(3)课程设计论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成原理分析:20分;(2)完成设计过程:50分;(3)完成测试:10分;(4)回答问题:20分。
5)参考文献:(1)柳胜. 《软件自动化测试框架设计与实践》.人民邮电出版社(2)陈能技.《QTP自动化测试实践》. 电子工业出版社(3)陈绍英等. 《LoadRunner性能测试实战》. 电子工业出版社6)课程设计进度安排内容天数地点构思及收集资料1图书馆设计与测试 2.5实验室撰写论文 1.5图书馆、实验室学生签名:2013年7月1 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)翻译能力(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();评阅人:职称:副教授2013年7月6日目录一、前言(课设目的及内容) (1)二、测试计划及测试需求 (5)三、测试用例的设计 (7)四、测试过程 (10)五、测试结果分析 (17)六、课设小结及心得体会 (19)七、参考文献 (20)一、前言(课设目的及内容)QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功能点上,使用QTP的确能够帮助测试人员做很多工作。
QTP测试飞机订票测试

华 东 交 通 大 学课 程 设 计 报 告 书所属课程名称 自动化测试技术题目 院 (系) 软 件 学 院 班 级学 号学生 指导教师 严丽平 辅导教师 严丽平2013年 7月5 日课程设计(论文)任务书软件学院软件工程(软件测试)专业2010-班一、课程设计(论文)题目基于QTP的功能测试二、课程设计(论文)工作自 2013年 7月 1 日起至 2013 年 7月 5 日止。
三、课程设计(论文) 地点: 创新大楼软件实训中心机房四、课程设计(论文)容要求:1.本课程设计的目的(1)使学生能掌握功能测试的基本思路和方法,学会使用自动化测试工具QTP 进行功能测试;(2)培养学生分析、解决问题的能力;(3)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)对默认环境和条件(要求详细记录环境条件)下,构造正确的输入进行正常功能需求的测试,使用常见的检查点测试,并将输入进行参数化;(2)测试系统在异常环境下的功能需求变化,并对测试的结果进行分析和汇总;(3)相应驱动的编写。
2)创新要求:在基本要求达到后,可对被测系统进行探索性测试。
3)课程设计论文编写要求(1)要按照书稿的规格打印书写课程设计论文(2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录等(3)课程设计论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成原理分析:20分;(2)完成设计过程:50分;(3)完成测试:10分;(4)回答问题:20分。
5)参考文献:(1)柳胜. 《软件自动化测试框架设计与实践》.人民邮电(2)能技.《QTP自动化测试实践》. 电子工业(3)绍英等. 《LoadRunner性能测试实战》. 电子工业6)课程设计进度安排容天数地点构思及收集资料1图书馆设计与测试 2.5实验室撰写论文 1.5图书馆、实验室学生签名:2013年7月1 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20分):优()、良()、中()、一般()、差();(3)完成调试(20分):优()、良()、中()、一般()、差();(4)翻译能力(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();评阅人:职称:副教授2013年7月6日目录一、前言(课设目的及容) (1)二、测试计划及测试需求 (5)三、测试用例的设计 (7)四、测试过程 (10)五、测试结果分析 (17)六、课设小结及心得体会 (19)七、参考文献 (20)一、前言(课设目的及容)QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功能点上,使用QTP的确能够帮助测试人员做很多工作。
QTP自带的飞机订票功能测试报告(一类特选)

QTP自带的飞机订票功能测试报告
课题名称飞机订票系统功能测试报告系/专业*******学院
班级*****
学号*****
学生姓名*****
指导教师:*****
测试目标
了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。
在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写,能够测试登录功能、订票功能。
其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试。
测试内容
熟悉了解飞机订票系统的基本运行流程,从登录到订票、查询、删除等一系列基本功能的操作,并能够对其中的一些功能进行测试工作。
此次飞机订票系统测试内容有登录功能,其中登陆功能测试包含一个用户能否正确登录、设置参数可以进行多个用户正确和错误的登录进行测试。
在订票功能中有对订票是否成功的测试、设置检查点以及循环所有航班的测试。
测试原理分析
QTP主要采用的是GUI模拟人的操作。
它在模拟人的操作时会通过录制记录操作的对象及所做的操作和顺序,然后在回放时按照记录顺序操作这些对象。
而在这个模拟的过程中最重要的莫过于界面对象控件的识别。
基本操作
第二步:点击QTP的执行文件
第二步:第一步完成后会出现下图的对画框,然后点击”OK”,如图1-01;
图1-01
第三步:选择“Blank Test”选项,如图1-02;。
QTP测试实验报告-飞机票订票系统

QTP自动化功能测试实践一、实验目的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").ClickWindow("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,1Window("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").ClickEnd WithWith Window("Flight Reservation").ActiveX("MaskEdBox").Type "011218".WinComboBox("Fly From:").Select DataTable("from", dtGlobalSheet) ‘参数化.WinComboBox("Fly To:").Select "Sydney".WinButton("FLIGHT").ClickWith .Dialog("Flights Table").WinList("From").Select "12463 LON 03:07 PM SYD 04:48 PM NW $160.40".WinButton("OK").ClickEnd With.WinEdit("Name:").Set "gcc".WinEdit("Tickets:").Set "3".WinRadioButton("Business").Set.WinButton("Insert Order").Click.CloseEnd Withwait(1) ‘必须有wait函数回调给第二次循环预留准备时间结果脚本录制关键字视图脚本回放结果本案例中对Flight系统的用户登陆界面进行参数化的黑盒测试测试脚本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 ThenDialog("Login").Dialog("Flight Reservations").WinButton("确定").Click ' 弹出提示框点击确认按钮Dialog("Login").Closeelse '登陆成功进入订票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").ClickWindow("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,1Window("Flight Reservation").WinEdit("Tickets:").Set "5"Window("Flight Reservation").WinRadioButton("Business").SetWindow("Flight Reservation").WinButton("Insert Order").ClickWindow("Flight Reservation").Close '退出订票界面End Ifwait(3)脚本录制结果脚本回放结果。
飞机订票系统测试用例

张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.2-06 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.2-07 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.3-09 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.3-10 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.3-05 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.3-06 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.4-01 .0\Functional Test\Login
张三
MANUAL
Flight Reservation\Release4 Flight-Login-1.4-02 .0\Functional Test\Login
Test Case Details 主题 测试用例标识 设计者 类型
Flight Reservation\Release4 Flight-Login-1.1 .0\Functional Test\Login
飞机票订票系统功能测试项目.

项目3飞机票订票系统功能测试项目项目简介飞机票订票软件项目组完成了系统的集成工作,根据开发计划将要将程序交给测试组进行功能测试。
测试小组该如何对该软件进行功能测试呢?项目目标与要求(1)能制订飞机票订票系统功能测试的测试计划(2)能根系统需求分析报告编制飞机票订票软件的功能测试的测试用例(3)能根据测试用例,熟练地对系统的订票功能进行手工测试(4)能根据测试用例,熟练使用QTP工具,完成系统的打开订票功能的测试(5)能熟练使用Excel工具管理测试中发现的缺陷(BUG)(6)能写功能测试报告项目工作任务(1)阅读飞机票订票系统的需求分析报告,完成测试小组内容的内容分工,制订单元测试计划(2)根据飞机票订票系统的需求分析报告,编写订票、查询、修改、删除、打印报表功能的测试用例(3)根据订票功能的测试用例,用手工的方式进行测试,记录测试结果(4)根据查询功能的测试用例,使用QTP工具,完成测试工作(5)用Excel软件完成测试工作日志,用Excel软件管理测试中发现的软件缺陷,并完成功能测试的测试报告功能测试基本过程图3-1 功能测试基本过程模块一制订功能测试计划学习目标1、理解订票系统的需求分析报告2、理解功能测试的一般过程、主要方法和策略工作任务1、阅读订票系统的需求分析报告2、选择功能测试的策略3、编写订票系统功能测试的计划任务1:阅读订票系统需求规格说明书读一读:订票系统需求规格说明书一、系统登录功能系统启动后先显示登录窗体,必须通过输入正确的帐户和对应的密码才能进入系统,如果不正确则给出相应的提示信息。
二、订票功能1、登录成功后系统自动进入新增订票窗体,同时可以通过“新订票”按钮,或菜单进入新增订票窗框体。
2、在新增订票窗体中,依次输入订票日期、出发地、到达地、航班、订票顾客姓名、订票张数、座位类型,系统能够自动根据用户选择的航班显示航班号、航空公司、志飞时间到达时间和单价,系统能够根据订票的票数、类型和单价自动计算出订单的总计金额。
QTP功能测试

图6-9 系统航班预订界面
6.停止录制。 选择“”>“”,或点击测试工具栏“”按钮,或按F4快捷键,停止录制程序。 至此已预定了一张虚拟的从飞往航班的经济舱机票。录制了从 “”直到 “”
6.4.5 分析测试结果 测试运行结束后,会自动打开测试结果界面,如图6-11所示。
测试 结果 树
循环 概要
状态 概要
测试结果详细 信息
图6-11 测试结果界面
通过测试结果树可以检查运行测试时执行的步骤。当单击测试结果树 上的某个步骤时,该步骤测试结果的详细信息就会显示在右边面板内, 且相应对象被突出显示。
6.4.3 录制测试
当操作执行系统时,可以录制用户的动作步骤。这些动作就是测试的 依据。当停止录制时,可以看到关键字视图里新产生的测试步骤。
本节将录制系统登录及从到航班的进程。 1.启动并新建一个空测试。 2.设置录制和运行测试项。选择菜单“”>“” 的“”选项卡,点击
“ ”按钮,以恢复默认主窗口。选择菜单“”>“ ”。确保在“” 选项卡上选中“ ”,在“ ” 选项卡上选中“ ”,并选择“ ” 和“ ”复选框。然后,点击绿色“+”号,在“ ”界面中添加应用程 序可执行文件"4"及其所在路径:C:\ \ \ \\\,如图6-7所示。
提示:
1.当 创建检查点时,它会基于检查点内的信息(如,已检查的值) 分配名称。即使随后修改了其所基于的信息,检查点名称也不会改变。 但 可能会截短关键字视图中所显示的名称。
2.当录制时或录制后,都可以将检查点加入到测试中。
飞机订票系统_登录测试用例

正确显示登陆页面(包括美观性、验证需求字段)
通过测试
输入正确用户名、正确密码、正确验证码、点击“登录”按钮
快捷键测试
输入正确用户名、正确密码、正确验证码、按Enter按钮
同时性问题
两个人在不同机器上用同一帐号登陆(需要确认需求)
用户名大小写验证
用户名正确但末区分大小写TestMethod_09,其余正确,点登录
验证码时间性
输入用户名,切换到Tab键光标在用户名框内,被Tab键两次
BackSpace键用户名框输入testmethod,光标在字符串末尾,按6次
左右键头用户名框中使用左右键头
Delete键用户名文本框中使用该键
单击鼠标在用户名输入框内单击鼠标
错误用户名或未注册用户名
密码次数
用户名和验证码正确,密码首次输入错误,点登录
用户名和验证码正确,密码二次输入错误,点登录
用户名和验证码正确,密码六次输入错误,点登录
结果:提示密码错误,并清空
结果:提示密码错误,并清空
结果:提示错误次数太多,不能再登录了
输入组合错误
错误的用户名和错误密码,验证码正确,点登录
双击鼠标在用户名输入框内双击鼠标
结果:光标可一次移动到密码输入框和验证码输入框
qtp关于飞机订票系统的脚本分享(

qtp关于飞机订票系统的脚本分享(转)2010-11-15 10:10:00| 分类:QTP |字号订阅#################################' 新建一条订票信息' 飞行日期参数化'#################################Window("Flight Reservation").RestoreWindow("Flight Reservation").WinButton("Button").ClickWindow("Flight Reservation").WinObject("Date of Flight:").Type DataTable("Date_of_Flight", dtGlobalSheet)'######################################' 出发地点随机选择下拉列表中的一项'######################################Dim n1,Rdm_flyfromn1=Window("Flight Reservation").WinComboBox("FlyFrom:").GetROProperty("items count")RandomizeRdm_flyfrom=RandomNumber(0,n1-1)'msgbox(Rdm_flyfrom)Window("Flight Reservation").WinComboBox("Fly From:").Select(Rdm_flyfrom)wait(2)'######################################' 目的地点随机选择下拉列表中的一项'######################################Dim n2,Rdm_flyton2=Window("Flight Reservation").WinComboBox("FlyTo:").GetROProperty("items count")RandomizeRdm_flyto=RandomNumber(0,n2-1)'msgbox(Rdm_flyto)Window("Flight Reservation").WinComboBox("Fly To:").Select(Rdm_flyto)wait(2)'#################################################################### ########' 点击Flights按钮;随即选择一个时间点的航班:点击OK按钮;旅客姓名参数化'###########################################################################Window("Flight Reservation").WinButton("FLIGHT").ClickWindow("Flight Reservation").Dialog("FlightsTable").WinList("From").Select RandomNumber(0, 100)Window("Flight Reservation").Dialog("FlightsTable").WinButton("OK").ClickWindow("Flight Reservation").WinEdit("Name:").Set DataTable("Name", dtGlobalSheet)'Radioitems=Window("FlightReservation").WinRadioButton("Business").GetROProperty("Button")'msgbox(Button)'#################################################################### ########################'手工产生一个随机数,达到随机选择商务舱、经济舱、头等舱的目的,点击Insert Order插入订票信息'#################################################################### ########################'方法(一)'Dim x1,x2'Randomize'x1=RandomNumber(1,3)' If x1="1" then' x2="Business"' else if x1="2" then' x2="Economy"' else x2="First "' end if' end if'Window("Flight Reservation").WinRadioButton(x2).Set'方法(二)Dim i,bi=RandomNumber(1,3)Select Case iCase 1 b="First"Case 2 b="Business"Case 3 b="Economy"End SelectWindow("FlightReservation").WinRadioButton("First").SetTOProperty"text",bWindow("Flight Reservation").WinRadioButton("First").SetWindow("Flight Reservation").WinButton("Insert Order").Clickwait(6)DimRecordNo,Radioitems'定义一个变量RecordNo=Window("Flight Reservation").WinEdit("OrderNo:").GetROProperty("text")'获取Order NoDataTable("OrderNo",dtGlobalSheet)=RecordNo'将OrderNo写入datatable,以后检查用'#######################'订票详细信息的获取'#######################Dimflyfrom,flyto,flightno,departuretime,arrivaltime,airline,price,total flyfrom=Window("Flight Reservation").WinComboBox("FlyFrom:").GetROProperty("regexpwndtitle")flyto=Window("Flight Reservation").WinComboBox("FlyTo:").GetROProperty("regexpwndtitle")flightno=Window("Flight Reservation").WinEdit("FlightNo:").GetROProperty("regexpwndtitle")departuretime=Window("Flight Reservation").WinEdit("Departure Time:").GetROProperty("regexpwndtitle")arrivaltime=Window("Flight Reservation").WinEdit("Arrival Time:").GetROProperty("regexpwndtitle")airline=Window("FlightReservation").WinEdit("Airline:").GetROProperty("regexpwndtitle") price=Window("FlightReservation").WinEdit("Price:").GetROProperty("regexpwndtitle")total=Window("FlightReservation").WinEdit("Total:").GetROProperty("regexpwndtitle")'#########################################################'将订票的详细信息插入到datatable中,作为run-time datatable'######################################################### DataTable("flyfrom",dtGlobalSheet)=flyfromDataTable("flyto",dtGlobalSheet)=flytoDataTable("flightno",dtGlobalSheet)=flightnoDataTable("departuretime",dtGlobalSheet)=departuretimeDataTable("arrivaltime",dtGlobalSheet)=arrivaltimeDataTable("airline",dtGlobalSheet)=airlineDataTable("price",dtGlobalSheet)=priceDataTable("total",dtGlobalSheet)=total###########################################'检查点【一】,根据Customer Name进行检查。
qtp测试飞机订票使用DataTable参数化实验

飞机订票使用DataTable参数化(实验III)原理:通过关键字视图可观察到自动化测试脚本是由操作步骤与数据构成的。
如测试脚本在某个变量中重复使用,而该变量的值经常需要根据具体测试需求进行变更。
QT参数化可以实现无须打开测试脚本,直接改变量的值,提供了高效的维护测试脚本方式。
主要过程包括:录制实验程序,使用DataTable进行参数化,同时使用RandomNumber实现参数化的正常运行和测试。
初步掌所握QuickTest Professional的环境变量的使用,同时对Data Driver了解其概念。
一:实现步骤1.1:点击安装并QuickTest安装步骤完成后,运行QuickTest Professional,出现如下界面,点击Automation->Record and Run Setting,选择红框中的容。
1.2:将flight4b.exe打开,运行至此界面,确保录制从这个阶段开始1.3插入一条订票的记录,注意记好num号,生成如下的测试过程,并运行回放该测试的结果,点击run验证“仅录制预定机票的过程”1.4:要求测试过程为全部passII.对预定机票中的数据进行参数化2.1:在test用例中选中Fly From这个项2.2:命名为Fly_from,点击确定2.3:,以此类推,对Fly_to进行参数化,命名后点击OK2.4参数如下红框所示,手动添加进参数,London Denver ; London Frankfurt;也可以自已多添几条,前提是机票预定系统里有这些地点即可。
2.5:出错信息如附,因为手工添加参数后,QT并没有识别到,所以我们下一步采用RandomNumber来实现2.6:选择Flight Table下的From,点击#2.7:选择random Number2.8:测试完成,参数化自动执行Data table表中的参数。
III:环境变量的使用3.1使用正常的录制过程,机票录入系统界面弹出即可。
qtp测试飞机订票系统测试脚本录制、回放、调试(实验1)

飞机订票系统测试脚本录制、回放、调试
原理:在正确安装QuickTe st的基础上,熟悉样例程序“飞机票系统(Flight)”的基本功能和使用,以用户名(mercury)、密码(mercury)登录Flight系统,插入一张订票记录。
体验QuickTest Professional录制过程与回放过程,录制飞机订票系统的登录功能并插入一张订票记录,录制运行场景,查看测试的结果。
一:实现步骤
1.1:点击安装并QuickTest安装步骤完成后,运行QuickTest Professional,出现如下界面,点击modify Add-in License
1.2 安装完原程序后,将GetLicense.exe注册机放到安装目录(默认C:\Program Files\Mercury Interactive\QuickTest Professional)并运行它,注册机将生成一个注册文件,该文件在C:\Program Files\Common Files\Mercury Interactive\License Manager。
用自已电脑所带的记事本打开名字为lservrc的文件,复制“第一行中含#之前的所有字符”。
1.3选择automation菜单,将要测试的示例程序载入。
点击OK确认按钮。
1.4点击record,开始录制程序
1.5进入飞机销售系统,并生成相应的记录。
1.6生成相关的记录
1.7生成相关的图数据表格
1.8运行Run按钮回放,开始程序的运行。
1.9调试并生成结果数据
至此,一个简单的飞机订票系统测试脚本录制、回放、调试制作完毕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1.QTP特点与基本操作 (2)1.1 QTP特点 (2)1.2基本操作 (2)2.功能测试 (6)2.1 登陆测试 (6)2.1.1 测试用例设计 (6)2.1.2 录制与测试过 (8)2.1.3 测试结果 (10)2.1.4 测试脚本 (12)2.2 订票测试 (12)2.2.1 订票功能 (12)2.2.2 测试用例设计 (13)2.2.3录制与测试过程 (14)2.2.4 测试结果 (17)2.2.5测试脚本 (17)2.3传真订单 (18)2.3.1传真订单实例 (18)2.3.2录制与测试过程 (18)2.3.3 测试结果 (20)2.3.4测试脚本 (21)2.4删除订单 (22)2.4.1删除订单实例 (22)2.4.2录制与测试过程 (22)2.4.3 测试结果 (24)2.4.4测试脚本 (25)3.参考文献 (27)1.QTP特点与基本操作1.1 QTP特点使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。
以QuickTest执行测试,就与人工测试一样。
QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快乐很多。
QuickTest自动化的好处有:快速:QuickTest执行测试比人工测试速度快多了。
可靠:QuickTest每一次的测试都可以正确的执行相同的动作,可以避免人工的错误。
可重复:QuickTest可以重复执行相同的测试。
可程序化:QuickTest可以以程序的方式,撰写复杂的测试脚本,以带出隐藏在应用程序中的信息。
广泛性:QuickTest可以建立广泛的测试脚本,涵盖应用程序的所有功能。
可再使用:QuickTest可以重复使用测试脚本,即使应用程序的使用接都已经改变。
1.2基本操作第一步:点击QTP的执行文件,第二步:第一步完成后会出现上图的对画框,然后点击”OK”,如图(1-2-1);图(1-2-1)第三步:选择“Tutorial”选项,如图(1-2-2);图(1-2-2)第四步:关闭右上角的对话框,选择左上角的“Record”选项,如图(1-2-3);图(1-2-3)第五步:QTP会有对两个方向的测试,一个是对web的测试,一个是对具体软件程序的测试。
如果选择对web测试,在上图制定输入地方网址,点击确定:如果是对软件程序的测试,选择“Windows Application”选项,如图(1-2-4);图(1-2-4)第六步:选择“+”按钮选择要执行程序的文件,如图(1-2-5);图(1-2-5)第七部:在“application”中选择你要执行程序的文件,然后点击“OK”按钮,如图(1-2-6);图(1-2-6)第八步:点击“确定”,你就会对该系统执行测试,()如图(1-2-7);图(1-2-7)2.功能测试2.1 登陆测试2.1.1 测试用例设计针对登录模块的输入条件:用户名和密码,有以下几种情况:1. 当用户什么也没输入,直接点OK按钮,是否提示请输入用户名;2. 当用户输入正确的用户名,没输入密码,直接点击OK按钮,是否提示请输入密码;3. 对密码进行验证看是否设置输入密码的长度;4. 当输入正确的用户名和密码时,点击OK按钮是否进入操作界面;对登陆模块进行测试时,尽可能全面的测试登陆功能的正常和异常情况:只要用户名大于或等于4个字符,密码是“mercury”,即可登陆。
为了测试异常登陆,准备了异常登陆的测试数据,系统会弹出如下表(2-1-1)所示的提示信息。
测试数据应用程序弹出的异常提示用户名密码空空空错误空Mercuryas 空as Mercuryas 错误mercury 空mercury 错误mercury mercury 正常登陆,启动应用程序表(2-1-1)根据上面的分析,设计了如下表(2-1-2)的测试用例:ID 输入条件预期输出实际输出用户名密码001 空空提示:输入用户名提示:输入用户名002 空asdff 提示:输入用户名提示:输入用户名003 空mercury 提示:输入用户名提示:输入用户名004 As 空提示:用户名长度少于4位提示:用户名长度少于4位005 as Adder 提示:用户名长度少于4位提示:用户名长度少于4位006 as Mercury 提示:用户名长度少于4位提示:用户名长度少于4位007 Mercury 空提示:输入密码提示:输入密码008 Mercury As 提示:密码错误提示:密码错误009 Mercury Mercury 登录成功登录成功010 Asdfg Mercury 登录成功登录成功表(2-1-2)2.1.2 录制与测试过第一步:用QTP自动打开Flight Reservation系统的登陆界面,输入用户名和密码,确定当前的操作,将订票系统打开,登陆界面如图(2-1-1);图(2-1-1)第二步:在QTP主界面中单击“Record”,在登陆界面的文本框中,输入正确的用户名和密码,单击“OK”按钮,进入飞机订票系统界面。
在QTP主界面,单击“Stop”按钮,结束当前的录制,如图(2-1-2);图(2-1-2)录制的脚本为:Dialog("Login").WinEdit("Agent Name:").Set "mercury"Dialog("Login").WinEdit("Password:").Set"4e90f6999223c7a146a382b12b9daa065cd86dac"Dialog("Login").WinButton("OK").ClickWindow("Flight Reservation").ActivateWindow("Flight Reservation").Close第三步:在Expert View中更改Keyword View中,将密码更改为明文,同时在文本中中添加判断语句,脚本如下:systemUtil.Run"C:\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\flight4a.exe"Dialog("Login").WinEdit("Agent Name:").Set DataTable("usename", dtLocalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("password", dtLocalSheet) Dialog("Login").WinButton("OK").ClickIf Dialog("Login").Dialog("Flight Reservations").Exist(5) ThenDim err_messageerr_message=Dialog("Login").Dialog("Flight Reservations").Static("Agent name must be at").GetROProperty("text")Reporter.ReportEventmicFail, "登录失败","错误信息是:"&err_messageDialog ("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickElseReporter.ReportEvent micPass,"登陆成功","登陆成功"Window("Flight Reservation").CloseEnd If第四步:在QTP主界面的工具栏中单击“Run”按钮,回访脚本,测试报告的结果如下图(2-1-3);图(2-1-3)2.1.3 测试结果通过运用QTP对飞机订票系统的测试,将已设计好的测试用例添加到QTP 中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如下图(2-1-4);图(2-1-4)QTP对测试用例的自动化测试后,分别将可以登陆成功和不能登陆成功的测试用例进行测试,运行结果如图(2-1-5);图(2-1-5)可以登录飞机订票系统的测试用例,QTP在测试后会显示登陆成功,如下图(2-1-6);图(2-1-6)不可以登录飞机订票系统的测试用例,QTP在测试后会显示登录失败,并且会说明错误的信息,如下图(2-1-7);图(2-1-7)2.1.4 测试脚本SystemUtil.Run"C:\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\app\flight4a.exe","","C:\ProgramFiles\Mercury Interactive\QuickTest Professional\samples\flight\app","open"Dialog("Login").WinEdit("Agent Name:").Set DataTable("usename", dtLocalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("password", dtLocalSheet) Dialog("Login").WinButton("OK").ClickIf Dialog("Login").Dialog("Flight Reservations").Exist(5) ThenDim err_messageerr_message=Dialog("Login").Dialog("Flight Reservations").Static("Agent name must be at").GetROProperty("text")Reporter.ReportEvent micFail, "登录失败","错误信息是:"&err_messageDialog ("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickElseReporter.ReportEvent micPass,"登陆成功","登陆成功"Window("Flight Reservation").CloseEnd If2.2 订票测试2.2.1 订票功能订票实例的前提是登录订票系统的成功,该实例是在订票系统中进行订票操作:输入航班日期、选择起飞地、选择目的地、选择航班、输入顾客姓名、输入票的张数、选择航班级别、单击订票按钮,完成订票功能。