qtp关于飞机订票系统的脚本分享(

合集下载

QTP脚本的封装和调用

QTP脚本的封装和调用

把QTP脚本封装起来,使其看起来一目了然!
简单介绍一下方法:
其实就是把脚本按操作分段。

然后以过程(SUB.....END SUB)或函数(FUNCTION ....END FUNCTION)进行封装。

这样的脚本看上去一目了然,易理解也易于管理。

二、QTP函数过程的调用
以上面的QTP录制脚本的封装中的脚本为例:
Call 过程名/函数名
直接调用过程名/函数名
也以飞机订票系统为例。

调用上面封装的过程/函数:
flight/call flight
login/call login
insertorder/Call insertorder
logout/Call logout
1. 调用SUB/FUNCTION方法是一样的……除了CALL调用如果有参数则需要使用括号将参数变量括起来。

2. SUB与FUNCTION的区别:SUB过程是没有返回值的.但是FUNCTION是可以有返回值的。

QTP脚本

QTP脚本

下图为关键字视图下面是专家视图中的代码Dialog("登录").WinEdit("代理名称:").Set "mercury"Dialog("登录").WinEdit("密码:").SetSecure "4d183d0da6d73651d7a1854c9e4d79624796fa62" Dialog("登录").WinButton("确定").ClickWindow("航班预订").ActiveX("MaskEdBox").Type "122810"Window("航班预订").WinComboBox("起点:").Select "London"Window("航班预订").WinComboBox("终点:").Select "Frankfurt"Window("航班预订").WinButton("FLIGHT").ClickWindow("航班预订").Dialog("航班表").WinList("从").Select "12496 LON 12:48 PM FRA 01:33 PM AA $106.00"Window("航班预订").Dialog("航班表").WinButton("确定").ClickWindow("航班预订").WinEdit("名称:").Set "test"Window("航班预订").WinButton("插入订单(I)").ClickWindow("航班预订").WinMenu("Menu").Select "文件(F);退出(X)"。

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安装及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航空订票系统测试

软件开发与项目管理-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脚本录制参数化

QTP脚本录制参数化

QTP脚本录制参数化
目的:实现登陆关闭飞机订票系统一次,但是要定制多张飞机票
1,首先录制飞机订票系统的登录、订票、关闭三个模块,分成三个action(注意:可以在录制时直接录为三个action,也可以录在一个action中,然后手工分为三个action,具体操作方法是鼠标右击要分成另一个action的地方,选择action——split..如下图)
2,然后右键单击需要参数化的系数后面的<#>,会出现一个窗口,如下图,选择图中选项,并命名,单击确定,最后再datatable视图中添加相关参数。

3,然后右键单击需要参数化的那个action ,选择action call properties...。

选择第二个或者是第三个选项。

QTP Flight登录描述性编程

QTP Flight登录描述性编程

QTP飞机订票系统描述性编程本文主要是针对登录模块进行操作,●测试数据针对登录模块的输入条件:用户名和密码,有以下几种情况:1. 当用户什么也没输入,直接点OK按钮,是否提示请输入用户名;2. 当用户输入正确的用户名,没输入密码,直接点击OK按钮,是否提示请输入密码;3. 对密码进行验证看是否设置输入密码的长度;4. 当输入正确的用户名和密码时,点击OK按钮是否进入操作界面;对登陆模块进行测试时,尽可能全面的测试登陆功能的正常和异常情况:只要用户名大于或等于4个字符,密码是“mercury”,即可登陆。

为了测试异常登陆,准备了异常登陆的测试数据,系统会弹出如下表(2-1-1)所示的提示信息。

测试用例根据测试数据的分析进行测试用例的设计根据登录是否成功进行等价类划分根据登录失败弹出消息框进行边界值分析得出如下的用例测试用例如下:虽然用例是最完整的,发现会有些冗余归结为:开始编码:Dim urlurl="C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe"If Dialog("text:=Login").Exist(1) ThenOptionalStep.Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set DataTable("UserName", dtGlobalSheet)OptionalStep.Dialog("text:=Login").WinEdit("attached text:=Password:").set DataTable("Passwd",dtGlobalSheet)OptionalStep.Dialog("text:=Login").WinButton("regexpwndtitle:=OK").Clickelse'如果QTP不能自己打开被测试程序就使用该功能打开SystemUtil.Run urlOptionalStep.Dialog("text:=Login").WinEdit("attached text:=Agent Name:").Set DataTable("UserName", dtGlobalSheet)OptionalStep.Dialog("text:=Login").WinEdit("attached text:=Password:").Set DataTable("Passwd", dtGlobalSheet)OptionalStep.Dialog("text:=Login").WinButton("regexpwndtitle:=OK").ClickEnd If'检查点If Dialog("text:=Login").Dialog("text:=Flight Reservations").Exist(2)ThenDim Errorinfor,oDescSet oDesc=Description.CreateoDesc("text").V alue=DataTable("Hint",dtGlobalSheet)Errorinfor=Dialog("text:=Login").Dialog("text:=FlightReservations").Static(oDesc).GetROProperty("text")Dialog("text:=Login").Dialog("text:=Flight Reservations").WinButton("text:=确定").Click '学习一下Reporter方法的用法Reporter.ReportEvent micDone, "登陆验证失败,提示信息如下",ErrorinforOptionalStep.Dialog("text:=Login").Closeelse'如果用户名和密码正确就进入订票页面If Window("text:=Flight Reservation").Exist (10) ThenReporter.ReportEvent micPass, "登录验证通过","用户名密码正确"Window("text:=Flight Reservation").closeSet oDesc=NothingEnd IfEnd If参数化:。

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的确能够帮助测试人员做很多工作。

飞机订票系统(数据结构)

飞机订票系统(数据结构)

假设某机场共有M次航班,第i次航班有ni个座位,且每次航班到达一个目的机场。

设计一个满足该机场需要的用户订票、退票程序#include <stdio.h>#include <string.h>#include <conio.h>#include <fstream>struct air //定义结构体数组{int num;int seat;int count;air *next;};struct air s[3];void init(int); //初始化航班信息void read(); //读取航班信息void save(); //保存航班信息void print(); //输出航班信息void dingpiao(); //订票信息void tuipiao(); //退票信息void main(){init(3);save();int j;printf(" ★---您好,欢迎进入飞机订票系统!---★\n");printf("================================================================ ================\n");do{printf(" -------- ☆ 1.浏览航班信息☆-------- \n\n"" -------- ☆ 2.订票信息☆-------- \n\n"" -------- ☆ 3.退票信息☆-------- \n\n"" -------- ☆0.退出☆-------- \n\n");printf("================================================================ ================\n");printf("机场共有M=3次航班,第i次航班有(n=2)*i个座位,每次航班到达一个目的机场!!!\n");printf("================================================================ ================\n");printf("请在0-3中选择以回车键结束:\n\n");scanf("%d",&j);switch(j){case 1:print(); //读取航班信息break;case 2: dingpiao(); //订票信息break;case 3:tuipiao(); //退票信息break;case 0:;break;}}while(j!=0); //判断结束printf("谢谢使用,再见!\n");}//主函数结束void init(int se) { //初始化模块int i;air *q=&s[0]; //指向头指针for(i=0;i<se;i++){q->num=i+1; //航线编号q->seat=2*(i+1); //第i次航班有ni个座位q->count=q->seat; //剩余座位q->next=&s[i+1]; //指向下一结点q=q->next; //头指针+1}q->next=NULL; //最后一个节点指针设为空}void save()//保存模块程序{int i;int m;FILE *fp,*fp1;//定义文件指针if((fp=fopen("chen.dat","wb"))==NULL)//打开文件并判断是否出错{printf("创建文件失败!\n\n");//打印出错提示getchar();return;}if((fp1=fopen("hao.dat","wb"))==NULL)//打开文件并判断是否出错{printf("创建文件失败!\n\n");//打印出错提示getchar();return;}for(i=0;i<3;i++)if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件写入数据,并判断是否出错printf("向文件输入数据失败!\n\n");fprintf(fp1,"%d",&m);fclose(fp);//关闭文件fclose(fp1);//关闭文件}void read()//从文件读取信息模块{int m;int i;FILE *fp,*fp1;//定义文件指针if((fp=fopen("chen.dat","rb"))==NULL)//打开文件,并判断是否出错{printf("出错,请检查文件是否存在,按任意键返回住菜单");//打印出错提示getchar();if((fp1=fopen("hao.dat","rb"))==NULL)//打开文件并判断是否出错{printf("创建文件失败!\n\n");//打印出错提示getchar();return;}fscanf(fp1,"%d",&m);fclose(fp1);//关闭文件for(i=0;i<m;i++){fread(&s[i],sizeof(air),1,fp);//从文件中读取信息}fclose(fp);//关闭文件}void print()//输出航班模块{int se;char w[10];read();//调用读取文件函数printf("航班号座位数剩余票\n");air *q=&s[0];for(se=1;se<4;se++){printf(" %d ",q->num);printf(" %d ",q->seat);printf(" %d ",q->count);printf("\n");q=q->next;}printf("请按任意键回车键结束返回上层菜单以:\n");scanf("%s",w);}void dingpiao()//订票模块int i;int n;char a[10];read();do{printf("请输入您要订的机票的航线编号(1、2、3):\n");scanf("%d",&i);if((i-1)<0||(i-1)>3){printf("请输入有效飞机编号!\n");//判断机票数是否出错}else{air *q=&s[i-1];printf("请输入您要订的机票数以回车键结束:\n");scanf("%d",&n);//读取所订机票数if(n<0){printf("请输入有效的机票数!\n");//判断机票数是否出错break;}if((q->count)!=0&&(q->count)>=n)//判断是否出错{q->count=q->count-n;save();//调用保存函数printf("订票成功!\n\n");break;}if(q->count<n)//判断是否出错{printf("票数不足:\n");break;}printf("是否继续?请输入yes或no以回车键结束:\n");//判断是否继续订票scanf("%s",a);}}while(!strcmp(a,"yes"));//判断结束}void tuipiao()//退票模块{int n;char a[10];int i;do{printf("请输入您要订的机票的航线编号(1、2、3):\n");scanf("%d",&i);if((i-1)<0||(i-1)>3){printf("请输入有效飞机编号!\n");break;}else{air *q=&s[i-1];printf("请输入您要退的机票数目:\n");scanf("%d",&n);//输入所退票数read();int k;k=2*i-(q->count);if(n<0||n>k) //判断票数是否有效{printf("请输入有效的机票数!\n");break;}else{q->count=q->count+n;save(); //调用保存模块printf("退票成功!\n\n");printf("是否继续?请键入yes或no以回车键结束:\n\n");//判断是否继续退票scanf("%s",a);}}}while(!strcmp(a,"yes"));//判断并跳出循环getchar();。

QTP安装及Flight飞机订票系统录制演示

QTP安装及Flight飞机订票系统录制演示

QTP安装‎及F lig‎h t飞机订‎票系统录制‎演示(一)Q TP安装‎1、安装包目录‎:\\QTP9.5\setup‎.exe;2、将QTP9‎.5安装包复‎制到本地目‎录下,打开并运行‎..\QTP9.5\QTP95‎-T6510‎-15059‎\setup‎.exe文件‎,按照安装向‎导进行安装‎即可;注意在安装‎过程中需选‎择图1中安‎装类型为“自定义”进入下一步‎选中Jav‎a Add-in(将安装在本‎地硬盘驱动‎器上)如图2:图1图23、将要测试的‎应用程序p‎b srun‎文件夹拷贝‎到C:\ 根目录下;4、编辑C:\ pbsru‎n\Power‎B ranc‎h Tell‎e r31.bat文件‎;添加“set qtp=C:\Progr‎a~1\HP\Quick‎T~1\bin\java_‎s hare‎d\bin”添加连接符“+”将-Djava‎.libra‎r y.path=%DLLDI‎R%移到图3中‎所指的位置‎,并在%DLLDI‎R%前添加“%qtp%”用“;”隔开如图3‎:图3注:1、在启动QT‎P9.5安装程序‎时可能会碰‎到图4的情‎况图4我们需把注‎册表中的[HKEY_‎L OCAL‎_MACH‎I NE\SYSTE‎M\Curre‎n tCon‎t rolS‎e t\Contr‎o l\Sessi‎o n Manag‎e r\Pendi‎n gFil‎e Rena‎m eOpe‎r atio‎n s]删除掉;2、在进行QT‎P9.5安装过程‎中会出现如‎图5,我们点击“取消”键即可完成‎Q T P9.5的安装了‎。

图53、安装完成后‎,我们启动Q‎T P应用程‎序,弹出Lic‎e nse Warni‎n g 的警告页面‎,点击“Insta‎l l Licen‎s e”按钮,如图6;在进入的界‎面中选择L‎i cens‎e Type为‎“C oncu‎r rent‎licen‎s”点击“下一步”,如图7;界面中输入‎L i cen‎s e服务器‎的地址:xxxx即‎可完成与L‎i cens‎e服务器的‎连接,如图8。

单元案例_Flight航空订票系统测试.

单元案例_Flight航空订票系统测试.

单元案例_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 agent name").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订票用户登录脚本参数化实现循环播放(自带的Flight订票系统)参数化用户登录脚本,让我调试了两天,中间遇到了很多,网上也有很多介绍参数化登录脚本的例子,但是好多都回放不了,下面是我调通的脚本步骤。

登陆测试用例操作:(1)用户名为空密码正确(2)用户名不够4个字节密码正确(3)用户名正确密码正确(4)用户名正确密码为空(5)用户名正确密码错误(6)用户名正确密码小于4个字节1.录制脚本(1)录制登录失败脚本(2)录制登录成功脚本,进入订票页面,选择“File”->"Exit",录制结束脚本如下:2.参数化脚本(1)参数化用户名首先进入到“Keyword View”,点击“Agent Name”对应的“value”值,出来一个'<#>',点击之。

在弹出框中,选择“parameter”,其他的默认,点击“OK”即可。

也可以修改“Name”名称,这里参数化用户名,所以可以把"P_Text"修改为‘agentname’。

在DataTable中输入操作的数据,如果DataTable没有显示出来,可以点击菜单中的““。

如图所示到这里,用户名就参数化好了。

(2)参数化密码参数化密码的步骤和参数化用户名的步骤是一样的。

3.增强脚本,调试脚本录制脚本的时候,录制了一次登录失败的脚本,目的是把弹出的提示框添加到对象库中。

现在就调整脚本。

(1)首先调整脚本分为两种情况,登录成功和登录不成功。

用到if判断语句,在脚本里增加了一行"Dialog("Login").Close",使得脚本能够正常循环回放,前后停在一个界面上。

(2)设置迭代运行方式点击”File->settings->run“,迭代方式选择“run on all rows”,当运行时发生错误处理方式,默认选择“pop up message box”,弹出提示信息,也可选择其他方式;。

QTP自带的飞机订票功能测试报告(一类特选)

QTP自带的飞机订票功能测试报告(一类特选)

QTP自带的飞机订票功能测试报告
课题名称飞机订票系统功能测试报告系/专业*******学院
班级*****
学号*****
学生姓名*****
指导教师:*****
测试目标
了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。

在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写,能够测试登录功能、订票功能。

其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试。

测试内容
熟悉了解飞机订票系统的基本运行流程,从登录到订票、查询、删除等一系列基本功能的操作,并能够对其中的一些功能进行测试工作。

此次飞机订票系统测试内容有登录功能,其中登陆功能测试包含一个用户能否正确登录、设置参数可以进行多个用户正确和错误的登录进行测试。

在订票功能中有对订票是否成功的测试、设置检查点以及循环所有航班的测试。

测试原理分析
QTP主要采用的是GUI模拟人的操作。

它在模拟人的操作时会通过录制记录操作的对象及所做的操作和顺序,然后在回放时按照记录顺序操作这些对象。

而在这个模拟的过程中最重要的莫过于界面对象控件的识别。

基本操作
第二步:点击QTP的执行文件
第二步:第一步完成后会出现下图的对画框,然后点击”OK”,如图1-01;
图1-01
第三步:选择“Blank Test”选项,如图1-02;。

QTP测试实验报告-飞机票订票系统

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)脚本录制结果脚本回放结果。

qtp关于飞机订票系统的脚本分享(

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测试飞机订票系统测试脚本录制、回放、调试(实验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调试并生成结果数据
至此,一个简单的飞机订票系统测试脚本录制、回放、调试制作完毕。

QTP练习实例

QTP练习实例

电击F7步骤:1、在Window("Flight Reservation").WinButton("Insert Order").Click下面加上wait(8)。

2、点击Active Screen快捷键,下方出现所捷之图,在Order No处右键单击空格处,点击第二个,点击OK按钮,在test前面打对勾,点击Modify,将name改为“a”,点击确定。

3、生成语句Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:"),放在语句wait下面。

4、点击[对象],点击[Fax Order No],将test的value改为b。

5、添加DataTable.Value("b")="Fax Order No. " & DataTable.Value("a")。

6、整体排序如下Window("Flight Reservation").WinButton("Insert Order").Clickwait(8)Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")DataTable.V alue("b")="Fax Order No. " & DataTable.Value("a")Window("Flight Reservation").WinMenu("Menu").Select "File;Fax Order..."第二个练习考点:十大检查点检查点步骤:1、录制一段操作,完成后不要关闭小飞机,点击file_open order,在第三行前面打勾并在空格内输入和生成号码相同的Order No.2、不要关闭小飞机,点击Insert_Checkpoint_Standard Checkpoint,在所要检查的项目栏内点击,出现新的图标,点击OK。

(整理)QTP自带Flight示例程序登录模块完整自动化测试.

(整理)QTP自带Flight示例程序登录模块完整自动化测试.

'打开程序窗口SystemUtil.Run "F:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4b.exe" Dialog("Login").Static("login_pic").ClickDialog("Login").WinButton("Help").ClickIf Dialog("Login").Dialog("Flight Reservations").Exist ThenDialog("Login").Dialog("Flight Reservations").Static("错误提示内容").Check CheckPoint("The password is 'MERCURY'") '添加检查点检查Help提示框内容Dialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickelseReporter.ReportEvent micFail,"Help","Help按钮弹出框错误!!"End Ifwait 1Dialog("Login").WinEdit("Agent Name:").Set DataTable("wrong_name1", dtLocalSheet) '用户名Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtLocalSheet) ' 密码Dialog("Login").WinButton("OK").Click ' 确认登录Reporter.ReportEvent micDone, "登录", "开始登录操作"'Dialog("Login").Check CheckPoint("Login")'//登录脚本实现参数化验证If Dialog("Login").Dialog("Flight Reservations").Exist ThenIf Dialog("Login").Dialog("Flight Reservations").Static("text:=Please enter agent name").Exist ThenDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickReporter.ReportEvent micPass,"失败测试","用户名不能为空"elseIf Dialog("Login").Dialog("Flight Reservations").Static("text:=Agent name must be at least 4 characters long.").Exist ThenDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickReporter.ReportEvent micPass,"失败测试","用户名必须大于4个字符"elseIf Dialog("Login").Dialog("Flight Reservations").Static("text:=Please enter password").Exist ThenDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickReporter.ReportEvent micPass,"失败测试","密码不能为空"elseIf Dialog("Login").Dialog("Flight Reservations").Static("text:=Incorrect password. Please try again").Exist ThenDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickReporter.ReportEvent micPass,"失败测试","密码输入错误"elseIf Dialog("Login").Dialog("Flight Reservations").Static("text:=Password must be at least 4 characters long").Exist ThenDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("Cancel").ClickReporter.ReportEvent micPass,"失败测试","密码必须大于4个字符"elseReporter.ReportEvent micFail,"输入异常","输入异常错误!!"end ifelseWindow("Flight Reservation")Reporter.ReportEvent micDone, "登录", "完成登录操作"Reporter.ReportEvent micDone, "订票", "开始订票"End Ifwait 2。

飞机订票系统

飞机订票系统

作者:邬中华代码如下:飞机订票系统#include<stdio.h>#include<string.h>int menu(){int choice;printf("********************************************************************* **********************\n");printf("1--航班信息录入|| 2--航班信息浏览|| 3--查询航线||0--退出\n");printf("********************************************************************* **********************\n");printf("您的选择:");scanf("%d",&choice);return choice;}void title(){ printf("__________________________________________________\n");printf(" \n");printf(" 欢迎使用飞机订票系统\n");printf("__________________________________________________\n");}struct Plane{char number[20];char start[20];char end [20];char time[20];int Quantity;};void main(){int M,n=0;char Number[20];char End[20];struct Plane plane[100];struct Plane * p;struct Plane * p1;struct Plane * p2;p=plane;title();do{ M=menu();switch(M){case 1:printf("请输入航班号:\n");scanf("%s",p->number);printf("请输入起始站:");scanf("%s",p->start);printf("请输入终点站:");scanf("%s",p->end);printf("请输入飞行时间:");scanf("%s",p->time);printf("请输入成员定额:");scanf("%d",&p->Quantity);printf("\n");++p;++n;break;case 2:for(p1=plane;p1<plane+n;p1++){printf("航班号:");puts(p1->number);printf(" ");printf("起始站:");puts(p1->start);printf(" ");printf("终点站:");puts(p1->end);printf(" ");printf("飞行时间:");puts(p1->time);printf(" ");printf("成员定额:");printf("%d",p1->Quantity);printf("\n");}break;case 3:{ int a;struct Plane * p2;printf("按航班号查询1 按终点站查询按2\n");scanf("%d",&a);switch(a){case 1:printf("请输入航班号\n");scanf("%s",Number);for(p2=plane;p2<plane+n; p2++){if(strcmp(p2->number,Number)==0){printf("航班号:");puts(p2->number);printf(" ");printf("起始站:");puts(p2->start);printf(" ");printf("终点站:");puts(p2->end);printf(" ");printf("飞行时间:");puts(p2->time);printf(" ");printf("成员定额:");printf("%d",p2->Quantity);printf("\n");}elseprintf("很抱歉,无此航班\n");}break;case 2:printf("请输入终点站\n");scanf("%s",End);for(p2=plane;p2<plane+n; p2++){if(strcmp(p2->end,End)==0){printf("航班号:");puts(p2->number);printf(" ");printf("起始站:");puts(p2->start);printf(" ");printf("终点站:");puts(p2->end);printf(" ");printf("飞行时间:");puts(p2->time);printf(" ");printf("成员定额:");printf("%d",p2->Quantity);printf("\n");}elseprintf("很抱歉,无此航班\n");}}break;}case 0:printf("谢谢使用,中華子祝您一路顺风\n");}}while(M);}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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进行检查。

相关文档
最新文档