1、QTP飞机订票测试实例QTP飞机订票测试实例特点与基本操作 QTP特点使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。以QuickTest执行测试,就与人工测试一样。QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快乐很多。QuickTest自动化的好处有:快速:QuickTest执行测试比人工测试速度快多了。可靠:QuickTest每一次的测试都可以正确的执行相同的动作,可以避免人工的错误。可重复:QuickTest可以重复执行相同的测试。可程序化:QuickTest可以以程序的方式,撰写复杂的测
2、试脚本,以带出隐藏在应用程序中的信息。广泛性:QuickTest可以建立广泛的测试脚本,涵盖应用程序的所有功能。可再使用:QuickTest可以重复使用测试脚本,即使应用程序的使用接都已经改变。基本操作第一步:点击QTP的执行文件, 第二步:第一步完成后会出现上图的对画框,然后点击”OK”,如图(1-2-1);图(1-2-1)第三步:选择“Tutorial”选项,如图(1-2-2);图(1-2-2)第四步:关闭右上角的对话框,选择左上角的“Record”选项,如图(1-2-3);图(1-2-3)第五步:QTP会有对两个方向的测试,一个是对web的测试,一个是对具体软件程序的测试。如果选择对we
3、b测试,在上图制定输入地方网址,点击确定:如果是对软件程序的测试,选择“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.1 测试用例设计针对登录模块的输入条件:用户名和密码,有以下几种情况:1. 当用户什么也没输入,直接点OK按钮,是否提示请输入用户
4、名;2. 当用户输入正确的用户名,没输入密码,直接点击OK按钮,是否提示请输入密码;3. 对密码进行验证看是否设置输入密码的长度;4. 当输入正确的用户名和密码时,点击按钮是否进入操作界面;对登陆模块进行测试时,尽可能全面的测试登陆功能的正常和异常情况:只要用户名大于或等于4个字符,密码是“mercury”,即可登陆。为了测试异常登陆,准备了异常登陆的测试数据,系统会弹出如下表(2-1-1)所示的提示信息。测试数据 应用程序弹出的异常提示用户名密码空空 空错误空Mercuryas空 asMercuryas错误mercury空 mercury错误 mercurymercury正常登陆,启动应用程
5、序 表(2-1-1)根据上面的分析,设计了如下表(2-1-2)的测试用例: ID 输入条件预期输出 实际输出 用户名 密码001空空提示:输入用户名提示:输入用户名002空asdff提示:输入用户名提示:输入用户名003空mercury提示:输入用户名提示:输入用户名004As空提示:用户名长度少于4位提示:用户名长度少于4位005asAdder提示:用户名长度少于4位提示:用户名长度少于4位006asMercury提示:用户名长度少于4位提示:用户名长度少于4位007Mercury空提示:输入密码提示:输入密码008MercuryAs提示:密码错误提示:密码错误009MercuryMercu
6、ry登录成功登录成功010AsdfgMercury登录成功登录成功 表(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 m
7、ercuryDialog(Login).WinEdit(Password:).Set 4e90f6999223c7a146a382b12b9daa065cd86dacDialog(Login).WinButton(OK).ClickWindow(Flight Reservation).ActivateWindow(Flight Reservation).Close第三步:在Expert View中更改Keyword View中,将密码更改为明文,同时在文本中中添加判断语句,脚本如下:C:ProgramFilesHPQuickTest ProfessionalsamplesflightappDi
8、alog(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) Then Dim err_message err_message=Dialog(Login).Dialog(Flight Reservations)
9、.Static(Agent name must be at).GetROProperty(text) , 登录失败,错误信息是: &err_message Dialog (Login).Dialog(Flight Reservations).WinButton(确定).Click Dialog(Login).WinButton(Cancel).Click Else micPass,登陆成功,登陆成功 Window(Flight Reservation).CloseEnd If第四步:在QTP主界面的工具栏中单击“Run”按钮,回访脚本,测试报告的结果如下图(2-1-3); 图(2-1-3)2.
10、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 测试脚本C:ProgramFilesMercury
11、InteractiveQuickTest Professionalsamplesflightapp4a,C:ProgramFilesMercury InteractiveQuickTest Professionalsamplesflightapp,openDialog(Login).WinEdit(Agent Name:).Set DataTable(usename, dtLocalSheet)Dialog(Login).WinEdit(Password:).Set DataTable(password, dtLocalSheet)Dialog(Login).WinButton(OK).Cli
12、ckIf Dialog(Login).Dialog(Flight Reservations).Exist(5) Then Dim err_message err_message=Dialog(Login).Dialog(Flight Reservations).Static(Agent name must be at).GetROProperty(text) micFail, 登录失败,错误信息是: &err_message Dialog (Login).Dialog(Flight Reservations).WinButton(确定).Click Dialog(Login).WinButto
13、n(Cancel).Click Else micPass,登陆成功,登陆成功 Window(Flight Reservation).CloseEnd If 订票测试2.2.1 订票功能订票实例的前提是登录订票系统的成功,该实例是在订票系统中进行订票操作:输入航班日期、选择起飞地、选择目的地、选择航班、输入顾客姓名、输入票的张数、选择航班级别、单击订票按钮,完成订票功能。2.2.2 测试用例设计测试编号输入预期结果实际结果001空在Fly中选择一个地点,弹出警告信息不能为空的警告00209/01/10在Fly中选择一个地点,弹出警告信息日期要在今天之后00313/10/13在Fly中选择一个地点
14、,弹出警告信息月份要小于1300410/32/13在Fly中选择一个地点,弹出警告信息天要在1-31之间00511/31/13在Fly中选择一个地点,弹出警告信息天要在1-30之间00610/23/13正确007空在Flyto中选择一个地点,弹出警告信息Ff不能为空的警告008LosAngeles正确成功009空Flights按钮不可用成功010DenverFlights按钮可用成功011单击,选择6696航班在窗口显示航班信息出发点为LosAngeles,目的地为Denver012在Ff中改选Paris清空航班信息, Flights按钮不可用,Ft自动清空成功013zhangs,1,Econ
15、omyPrice:Total:出发点为LosAngeles,目的地为Denver, 选择6696航班014zhang,2,EconomyPrice:Total:成功2.2.3录制与测试过程第一步:录制脚本,选择“Record”如图(2-2-1);图(2-2-1)第二步:在Agent Nname和Password中都输入Mercury点击“OK”按钮,如图(2-2-2); 图(2-2-2)第三步:输入飞机的时间、出发地、目的地,然后选择“Flights”选择航班,如图(2-2-3);图(2-2-3)第四步:选择要乘坐飞机的航班,然后点击确定,如图(2-2-4);图(2-2-4)第五步:输入顾客的
16、姓名、票数、票的类型、点击“insert”,如图(2-2-5);图(2-2-5)第六步:点击“Stop”结束录制过程,脚本录制成功,如图(2-2-6);图(2-2-6)第七步:在容易出错的点上右击鼠标,选择“Insert Standard Checkpoint”,如图(2-2-7);图(2-2-7)第八步:点击“确定”,如图(2-2-8);图(2-2-8)脚本(截图),图(2-2-9);图(2-2-9)2.2.4 测试结果在外面将飞机订票系统里的数据删除,点击“Run”运行脚本,如图(2-2-10);图(2-2-10) 执行QTP生成的脚本,结果如图(2-2-11); 图(2-2-11)2.2
17、.5测试脚本Dialog(Login).WinEdit(Agent Name:).Type MDialog(Login).WinEdit(AgentName:).Set MercuryDialog(Login).WinEdit(Password:).Type MDialog(Login).WinEdit(Password:).SetSecure 4da14eea230673a188a059df360a208f53f741b0Dialog(Login).WinEdit(Password:).Type micReturn Window(Flight Reservation).WinObject(D
18、ate of Flight:).Type 101011Window(Flight Reservation).WinComboBox(Fly From:).Select LondonWindow(Flight Reservation).WinComboBox(Fly To:).Select ParisWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(FlightReservation).Dialog(Flights Table).WinList(From).Select 12582 LON 08:00 AM PAR 10:00 AM
19、 AF $Window(Flight Reservation).Dialog(FlightsTable).WinButton(OK).Check CheckPoint(OK)Window(FlightReservation).Dialog(Flights Table).WinButton(OK).ClickWindow(Flight Reservation).WinEdit(Customer Name:).Set zhangWindow(Flight Reservation).WinButton(Insert).ClickWindow(Flight Reservation).Close传真订单
20、2.3.1传真订单实例传真订单实例是传真订票成功的订单,在传真订单中,需要输入传真号、确定是否输入签名等。选择打开存在的订单,传真订单是设置前面是汉字“田”,预览传真,开始传真。2.3.2录制与测试过程打开飞机订票系统,在系统的File中打开Open Order,会出现Open Order对话框,有顾客姓名、日期、航班等选项,如下图(2-3-1); 图(2-3-1)输入顾客的姓名,即可查询到顾客订购的机票信息,如下图(2-3-2); 图(2-3-2)打开File下的Fax Order,可以生成传真,填写Fax Number,输入086-010-1234,同时设置签名为“田”字。此时,录制签名之
21、前,需要改变录制模式,录制模式修改为“Analog Recording”,修改后再录制签名,签名录制完后,再切换到“Recording”模式,发送传真,完成录制,如下图(2-3-3); 图(2-3-3)在传单的录制过程中,还要添加对象,添加Flight Reservation对象,飞机航班的Flights Table对象,如下图(2-3-4); 图(2-3-4)添加对象完成后,选择“All Object Types”,如下图(2-3-5); 图(2-3-5)在“All Object Respositories“的对话框里,可以看到添加进去的所有对象,如下图(2-3-6); 图(2-3-6)2.
22、3.3 测试结果在添加完所有的对象后,录制的脚本才可以运行,同时也能在回放中看到缩写的签名,运行结果如图(2-3-7); 图(2-3-7)2.3.4测试脚本Window(Flight Reservation).ActivateWindow(FlightReservation).WinMenu(Menu).SelectFile;Open Order.Window(FlightReservation).Dialog(Open Order).WinCheckBox(Customer Name).Set ONWindow(Flight Reservation).Dialog(Open Order).W
23、inEdit(Edit).Set asWindow(Window).Click 580,380Window(Snagit 编辑器).WinObject(Snagit 编辑器).Click 965,10Window(FlightReservation).Dialog(Open Order).WinButton(OK).ClickWindow(Window).Click 658,424Window(Snagit 编辑器).WinObject(Snagit 编辑器).Click 967,16Window(Flight Reservation).Dialog(Open Order).Dialog(Se
24、arch Results).WinButton(OK).ClickWindow(FlightReservation).WinMenu(Menu).Select File;Fax Order.Window(Flight Reservation).Dialog(Fax Order No. 11).WinObject(Fax Number:).Type 04Window(Flight Reservation).Dialog(Fax Order No. 11).Drag 233,206Window(FlightReservation).Dialog(FaxOrderNo. 11).WinObject(
25、Fax).Drop 229,240Window(Flight Reservation).Dialog(Fax Order No. 11).Drag 229,218Window(FlightReservation).Dialog(Fax Order No. 11).WinObject(Fax).Drop 288,244Window(Flight Reservation).Dialog(Fax Order No. 11).Drag 251,238Window(FlightReservation).Dialog(Fax Order No. 11).WinObject(Fax).Drop 274,23
26、0Window(Flight Reservation).Dialog(Fax Order No. 11).Drag 262,223Window(FlightReservation).Dialog(FaxOrderNo. 11).WinObject(Fax).Drop 258,238Window(Flight Reservation).Dialog(Fax Order No. 11).Drag 242,254Window(FlightReservation).Dialog(FaxOrderNo. 11).WinObject(Fax).Drop 282,242Window(FlightReserv
27、ation).Dialog(FaxOrderNo. 11).WinCheckBox(Send Signature with order).Set ONWindow(Window).Click 650,347Window(Snagit 编辑器).WinObject(Snagit 编辑器).Click 957,12Window(FlightReservation).Dialog(FaxOrderNo. 11).WinButton(Send).ClickWindow(Flight Reservation).WinButton(Update Order).ClickWindow(Flight Rese
28、rvation).MinimizeWindow(Flight Reservation).RestoreWindow(Flight Reservation).Close删除订单2.4.1删除订单实例飞机订票成功后,也可以对订单进行删除。在Flight Reservation中提前订购好的订单挑出来,用QTP录制删除订单的过程,且欲删除订单必须确认订单有效,根据用户名查询订单,删除订单。2.4.2录制与测试过程首先打开飞机订票系统,同时打开QTP进行录制,在File中打开Open Order,若输入顾客的姓名正确,此时会跳出顾客飞机航班的订票情况,并添加到对象库中,如下图(2-4-1); 图(2-
29、4-1)在File中打开Open Order,在Customer Name中输入一个错误的顾客姓名,此时会弹出一个顾客姓名错误的提示框,在QTP中添加此对象,如下图(2-4-2); 图(2-4-2)除了要添加Flight Reservation和Open Order对象,还要添加Search Relults对象,如下图(2-4-3); 图(2-4-3)最后添加确认删除的对话框,如下图(2-4-4); 图(2-4-4)在所有的对象都添加到对象库中,在All Object Repositories会显示所有的对象,如图(2-4-5); 图(2-4-5)2.4.3 测试结果完成对象添加的操作,就可以开始修改脚本了,添加了判断订单查询对话框是否存在,如果存在则循环管操作订单存在的列表,随机选择一个订单,确定删除该订单,运行结果如下图(2-4-6); 图(2-4
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1