特点与基本操作 ............................................................................................... 错误!未定义书签。
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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务