您好,欢迎来到九壹网。
搜索
您的当前位置:首页QTP飞机订票测试实例

QTP飞机订票测试实例

来源:九壹网
目录

特点与基本操作 ............................................................................................... 错误!未定义书签。

QTP特点 ................................................................................................. 错误!未定义书签。 基本操作 ................................................................................................... 错误!未定义书签。 2.功能测试........................................................................................................ 错误!未定义书签。

登陆测试 ................................................................................................ 错误!未定义书签。

测试用例设计 ................................................................................. 错误!未定义书签。 录制与测试过 ................................................................................. 错误!未定义书签。 测试结果......................................................................................... 错误!未定义书签。 测试脚本......................................................................................... 错误!未定义书签。 订票测试 ................................................................................................ 错误!未定义书签。

订票功能......................................................................................... 错误!未定义书签。 测试用例设计 ................................................................................. 错误!未定义书签。 录制与测试过程 ............................................................................... 错误!未定义书签。 测试结果......................................................................................... 错误!未定义书签。 测试脚本 ........................................................................................... 错误!未定义书签。 传真订单 ................................................................................................... 错误!未定义书签。

传真订单实例 ................................................................................... 错误!未定义书签。 录制与测试过程 ............................................................................... 错误!未定义书签。 测试结果......................................................................................... 错误!未定义书签。 测试脚本 ........................................................................................... 错误!未定义书签。 删除订单 ................................................................................................... 错误!未定义书签。

删除订单实例 ................................................................................... 错误!未定义书签。 录制与测试过程 ............................................................................... 错误!未定义书签。 测试结果......................................................................................... 错误!未定义书签。 测试脚本 ........................................................................................... 错误!未定义书签。

3.参考文献........................................................................................................ 错误!未定义书签。

特点与基本操作

QTP特点

使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。

以QuickTest执行测试,就与人工测试一样。QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快乐很多。

QuickTest自动化的好处有:

快速:QuickTest执行测试比人工测试速度快多了。

可靠:QuickTest每一次的测试都可以正确的执行相同的动作,可以避免人工的错误。

可重复:QuickTest可以重复执行相同的测试。

可程序化:QuickTest可以以程序的方式,撰写复杂的测试脚本,以带出隐藏在应用程序中的信息。

广泛性: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的测试,一个是对具体软件程序的测试。如果选择对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.1 测试用例设计

针对登录模块的输入条件:用户名和密码,有以下几种情况: 1. 当用户什么也没输入,直接点OK按钮,是否提示请输入用户名; 2. 当用户输入正确的用户名,没输入密码,直接点击OK按钮,是否提示请输入密码;

3. 对密码进行验证看是否设置输入密码的长度;

4. 当输入正确的用户名和密码时,点击OK按钮是否进入操作界面;

对登陆模块进行测试时,尽可能全面的测试登陆功能的正常和异常情况:只要用户名大于或等于4个字符,密码是“mercury”,即可登陆。为了测试异常登陆,准备了异常登陆的测试数据,系统会弹出如下表(2-1-1)所示的提示信息。

测试数据 用户名 空 空 空 密码 空 错误 Mercury 应用程序弹出的异常提示 as as as 空 Mercury 错误 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 008 009 010 Mercury Mercury Mercury Asdfg 空 As Mercury 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\").Click Window(\"Flight Reservation\").Activate Window(\"Flight Reservation\").Close

第三步:在Expert View中更改Keyword View中,将密码更改为明文,同时在文本中中添加判断语句,脚本如下:

\"C:\\ProgramFiles\\HP\\QuickTest Professional\\samples\\flight\\app\\\" Dialog(\"Login\").WinEdit(\"Agent

Name:\").Set DataTable(\"usename\

Dialog(\"Login\").WinEdit(\"Password:\").Set DataTable(\"password\ Dialog(\"Login\").WinButton(\"OK\").Click

If 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\")

, \"登录失败\错误信息是: \"&err_message

Dialog (\"Login\").Dialog(\"Flight Reservations\").WinButton(\"确定\").Click Dialog(\"Login\").WinButton(\"Cancel\").Click Else

micPass,\"登陆成功\登陆成功\" Window(\"Flight Reservation\").Close

End 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 测试脚本

\"C:\\ProgramFiles\\MercuryInteractive\\QuickTest

Professional\\samples\\flight\\app\\4a\

Interactive\\QuickTest Professional\\samples\\flight\\app\

Name:\").Set DataTable(\"usename\

Dialog(\"Login\").WinEdit(\"Agent

Dialog(\"Login\").WinEdit(\"Password:\").Set DataTable(\"password\ Dialog(\"Login\").WinButton(\"OK\").Click

If 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\").WinButton(\"Cancel\").Click Else

micPass,\"登陆成功\登陆成功\" Window(\"Flight Reservation\").Close

End If

订票测试

2.2.1 订票功能

订票实例的前提是登录订票系统的成功,该实例是在订票系统中进行订票操作:输入航班日期、选择起飞地、选择目的地、选择航班、输入顾客姓名、输入票的张数、选择航班级别、单击订票按钮,完成订票功能。

2.2.2 测试用例设计

测试编号 001 输入 空 预期结果 实际结果 在Fly中选择一个地点,不能为空的警告 弹出警告信息 002 09/01/10 在Fly中选择一个地点,日期要在今天之后 弹出警告信息 003 13/10/13 在Fly中选择一个地点,月份要小于13 弹出警告信息 004 10/32/13 在Fly中选择一个地点,天要在1-31之间 弹出警告信息 005 11/31/13 在Fly中选择一个地点,天要在1-30之间 弹出警告信息 006 007 10/23/13 空 正确 在Flyto中选择一个地Ff不能为空的警告 点,弹出警告信息 008 009 010 LosAngeles 正确 空 Denver Flights按钮不可用 Flights按钮可用 成功 成功 成功 011 单击,选择在窗口显示航班信息 6696航班 出发点为LosAngeles,目的地为Denver 012 在Ff中改清空航班信息, Flights按成功 选Paris 钮不可用,Ft自动清空 出发点为LosAngeles,目的地为Denver, 选择6696航班 013 zhangs,1,Price: Economy Total: 014 zhang,2,Price: Economy 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)

第五步:输入顾客的姓名、票数、票的类型、点击“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.5测试脚本

Dialog(\"Login\").WinEdit(\"Agent Name:\").Type \"M\" Dialog(\"Login\").WinEdit(\"AgentName:\").Set

\"Mercury\"Dialog(\"Login\").WinEdit(\"Password:\").Type \"M\" Dialog(\"Login\").WinEdit(\"Password:\").SetSecure \"4da14eea230673a188a059df360a208f53f741b0\" Dialog(\"Login\").WinEdit(\"Password:\").Type micReturn

Window(\"Flight Reservation\").WinObject(\"Date of Flight:\").Type \"101011\" Window(\"Flight Reservation\").WinComboBox(\"Fly From:\").Select \"London\" Window(\"Flight Reservation\").WinComboBox(\"Fly To:\").Select \"Paris\" Window(\"Flight Reservation\").WinButton(\"FLIGHT\").Click

Window(\"FlightReservation\").Dialog(\"Flights Table\").WinList(\"From\").Select \"12582 LON 08:00 AM PAR 10:00 AM AF $\"

Window(\"Flight Reservation\").Dialog(\"FlightsTable\").WinButton(\"OK\").Check CheckPoint(\"OK\")

Window(\"FlightReservation\").Dialog(\"Flights Table\").WinButton(\"OK\").Click Window(\"Flight Reservation\").WinEdit(\"Customer Name:\").Set \"zhang\" Window(\"Flight Reservation\").WinButton(\"Insert\").Click Window(\"Flight Reservation\").Close

传真订单

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,同时设置签名为“田”字。此时,录制签名之前,需要改变录制模式,录制模式修改为“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.3.3 测试结果

在添加完所有的对象后,录制的脚本才可以运行,同时也能在回放中看到缩写的签名,运行结果如图(2-3-7);

图(2-3-7)

2.3.4测试脚本

Window(\"Flight Reservation\").Activate

Window(\"FlightReservation\").WinMenu(\"Menu\").Select\"File;Open Order...\" Window(\"FlightReservation\").Dialog(\"Open Name\").Set \"ON\"

Window(\"Flight Reservation\").Dialog(\"Open Order\").WinEdit(\"Edit\").Set \"as\" Window(\"Window\").Click 580,380

Window(\"Snagit 编辑器\").WinObject(\"Snagit 编辑器\").Click 965,10 Window(\"FlightReservation\").Dialog(\"Open Order\").WinButton(\"OK\").Click Window(\"Window\").Click 658,424

Window(\"Snagit 编辑器\").WinObject(\"Snagit 编辑器\").Click 967,16 Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"Search

Order\").WinCheckBox(\"Customer

Results\").WinButton(\"OK\").Click

Window(\"FlightReservation\").WinMenu(\"Menu\").Select \"File;Fax Order...\" Window(\"Flight

Reservation\").Dialog(\"Fax

Order

No.

11\").WinObject(\"Fax

Number:\").Type \"04\"

Window(\"Flight Reservation\").Dialog(\"Fax Order No. 11\").Drag 233,206 Window(\"FlightReservation\").Dialog(\"FaxOrderNo. 229,240

Window(\"Flight Reservation\").Dialog(\"Fax Order No. 11\").Drag 229,218 Window(\"FlightReservation\").Dialog(\"Fax Order 288,244

Window(\"Flight Reservation\").Dialog(\"Fax Order No. 11\").Drag 251,238 Window(\"FlightReservation\").Dialog(\"Fax Order 274,230

Window(\"Flight Reservation\").Dialog(\"Fax Order No. 11\").Drag 262,223 Window(\"FlightReservation\").Dialog(\"FaxOrderNo. 258,238

Window(\"Flight Reservation\").Dialog(\"Fax Order No. 11\").Drag 242,254

11\").WinObject(\"Fax\").Drop No. 11\").WinObject(\"Fax\").Drop No. 11\").WinObject(\"Fax\").Drop

11\").WinObject(\"Fax\").Drop

Window(\"FlightReservation\").Dialog(\"FaxOrderNo. 282,242

Window(\"FlightReservation\").Dialog(\"FaxOrderNo. Signature with order\").Set \"ON\" Window(\"Window\").Click 650,347

11\").WinObject(\"Fax\").Drop

11\").WinCheckBox(\"Send

Window(\"Snagit 编辑器\").WinObject(\"Snagit 编辑器\").Click 957,12

Window(\"FlightReservation\").Dialog(\"FaxOrderNo. 11\").WinButton(\"Send\").Click Window(\"Flight Reservation\").WinButton(\"Update Order\").Click Window(\"Flight Reservation\").Minimize Window(\"Flight Reservation\").Restore Window(\"Flight Reservation\").Close

删除订单

2.4.1删除订单实例

飞机订票成功后,也可以对订单进行删除。在Flight Reservation中提前订购好的订单挑出来,用QTP录制删除订单的过程,且欲删除订单必须确认订单有效,根据用户名查询订单,删除订单。

2.4.2录制与测试过程

首先打开飞机订票系统,同时打开QTP进行录制,在File中打开Open Order,若输入顾客的姓名正确,此时会跳出顾客飞机航班的订票情况,并添加到对象库中,如下图(2-4-1);

图(2-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-6)

删除的订单号的结果,如下图(2-4-7);

订单删除成功的结果,如下图(2-4-8);

图(2-4-8)

2.4.4测试脚本

Dim IntNumber_SearchResults,Str_SearchResults Dim Delete_OrderNo

Window(\"Flight Reservation\").Activate

Window(\"FlightReservation\").WinMenu(\"Menu\").Select\"File;Open Order...\" Window(\"FlightReservation\").Dialog(\"Open Name\").Set \"ON\"

Window(\"Flight Reservation\").Dialog(\"Open Order\").WinEdit(\"Edit\").Set \"tianyanqin\" Window(\"FlightReservation\").Dialog(\"Open Order\").WinButton(\"OK\").Click While

Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"Search

Order\").WinCheckBox(\"Customer

Results\").Exist(5)

Intnumber_SearchResults

=

Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"Search Results\").WinList(\"Flight No.\").GetItemsCount

Str_SearchResults

=

Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"SearchResults\").WinList(\"Flight

No.\").GetItem(RandomNumber(0,IntNumber_SearchResults-1))

Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"Search

Results\").WinList(\"Flight No.\").Select Str_SearchResults

Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"Search

Results\").WinButton(\"OK\").Click

Window(\"Flight Reservation\").Activate Delete_Order

=

Window(\"Flight

Reservation\").WinEdit(\"Order

No:\").GetROProperty(\"text\")

Window(\"Flight Reservation\").WinButton(\"Delete Order\").Click Window(\"FlightReservation\").Dialog(\"Flight

Reservations\").WinButton(\"

(Y)\").Click

Window(\"Flight Reservation\").Activate

micPass,\"删除的订单号是:\"&Delete_OrderNo,\"删除的订单是:

\"&Str_SearchResults

Window(\"Flight Reservation\").Activate

Window(\"Flight Reservation\").WinMenu(\"Menu\").Select\"File;Open Order...\" Window(\"FlightReservation\").Dialog(\"Open

Order\").WinCheckBox(\"Customer

Name\").Set\"ON\"

Window(\"FlightReservation\").Dialog(\"Open

Order\").WinEdit(\"Edit\").Set\"tianyanqin\"

Window(\"FlightReservation\").Dialog(\"Open Order\").WinButton(\"OK\").Click

Wend Window(\"Flight

Reservation\").Dialog(\"Open

Order\").Dialog(\"Flight

Reservations\").WinButton(\"确定\").Click

Window(\"FlightReservation\").Dialog(\"Open Order\").WinButton(\"Cancel\").Click micPass,\"订单删除成功\订单查询不到,说明删除成功或者本身没有该订单\"

3.参考文献

(1) 田艳琴著,《QTP从实践到精通》,电子工业出版社,2010版 (2) 陈能计著,《QTP自动糊测试进阶》,电子工业出版社,2010版 (3) 张斌著,《精通QTP与自动化测试框架设计实践》,人民邮电出版社,2010

(4) 黄文高著,《QTP自动化测试与框架模型设计》,机械工业出版社,2011

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务