QTP基本测试流程

一、Mercury Tours介绍
1.MTours也是一个航空订票业务的Web应用程序。
2.必须先启动服务,然后才能通过浏览器来访问网页。
(1)启动服务:开始=》程序=》Mercury Tours=》Start Server
(2)通过浏览器来访问网页:建议使用开始=》程序=》Internet Explorer,在地址栏中输入网址。
http://localhost:8080/mtours
3.注册:REGISTER,输入UserName、Password、Confirm Password,点击Submit
要求Password和Confirm Password必须一致,否则无法注册成功。 jack/123
4.登录:点击Home,输入用户名和密码,点击Sign-in,如果提示是否保存密码,勾选“不再保存密码”,点击“否”。
5.清除IE浏览器中已经保存的密码:IE菜单=》工具=》Internet选项=》内容=》点击“自动完成”=》取消勾选“表单上的用户名和密码”,点击“清除密码”按钮,在提示框上点击“确定”,最后再点击“确定”,重启IE。
6.订票:如果订票时出现提示“记住填入表单中的条目”,建议点击“是”,这样下次不再出现该提示框。
7.连续订票时,点击左侧Flights回到订票开始页。
8.回到主页:点击左侧Home回到主页。
9.退出登录:LOG OUT或上方的SIGN-OFF。

二、录制Web应用程序并保存调试
1.注意:启动QTP时,必须加载Web插件。
2.基本流程:
(1)关闭杀毒软件、翻译类软件、被测系统(浏览器)。
(2)点击New,点击Record
(3)在Record and Run Settings中:
a.Web选项卡选择第二项,输入被测系统的网址;
b.Windows Applications选择第一项;
c.点击“确定”。
(4)如果有弹出框,点击Yes关闭它,再次点击Record。
(5)在自动启动的IE浏览器内操作被测系统的网页。
(6)点击Stop
(7)保存后,点击Run,点击“确定”。
注意:运行前关闭浏览器,运行过程中不要干扰QTP。
(8)测试结果中Failed数是0代表运行正常。
3.说明:不建议使用手动启动录制Web应用程序,因为控件类型经常识别不准确。

案例:MTours,录制登录后退出登录、最后关闭浏览器的步骤。保存为Test2003,运行调试。

练习:MTours,录制登录后先订票、退出登录、最后关闭浏览器的步骤。保存为Test2004,运行调试。

三、QTP做自动化测试的基本流程
1.制定测试计划
2.准备测试用例
3.录制脚本代码
4.增强脚本代码
5.调试脚本代码
6.用于回归测试
7.测试总结报告
8.维护测试脚本

四、QTP实现原理(对象仓库管理机制)
1.面向对象的编程思想:
(1)对象Object:世间万物皆对象,对象是客观实体的逻辑抽象。
(2)对象的属性Property:描述对象的性质(特性)的数据。
(3)对象的方法Method:对对象所作的动作。
2.QTP将控件识别为对象,存储在对象仓库(Object Repository)中,每个测试脚本代码录制后,我们就可以查看对象仓库的对象。
3.打开对象仓库:
(1)QTP菜单:Resources=》Object Repository
(2)快捷键:Ctrl+R
4.QTP录制和回放的实现原理:---重在理解!
(1)录制:封装测试对象,生成脚本
a.获得录制时所操作到的控件的所有属性
b.使用唯一的名称记录在对象仓库中
c.记录所有属性值
d.标识并单独记录关键属性值
e.在脚本中记录测试对象,以及操作动作的方法,和使用的数据的参数值。
(2)回放/运行:识别控件,操作它
a.从Item列获得对象名称。
b.到对象仓库中找到该名称的测试对象,并且获得其关键属性列表。
c.使用关键属性值来识别到当前被测系统界面上唯一一个待操作的实际控件。
d.按照脚本的Operation列和Value列来操作它。
5.对象仓库中测试对象的关键属性列表:右侧的Description Properties
6.常见的回放错误:
(1)The …… object was not found in the Object Repository.
原因:在对象仓库中找不到该名称的测试对象。
分析:手工打开对象仓库,如果仓库中对象名称与脚本中对象名称不一致,修改一致即可;如果仓库中根本不存在该对象,那么需要手工添加测试对象到对象仓库。
解决方案:
a.手工添加测试对象的方法一是通过Active Screen视图中的界面截图来添加,具体如下:
a-1.切换到Active Screen视图
a-2.点击选中一个步骤,要求其截图中存在待添加的测试对象控件。
a-3.在截图中待添加的控件上右击,选择View/Add Objects...
a-4.在弹出框中选择父子对象,OK
a-5.在弹出框中确认控件信息,点击左下角的Add to Repository按钮
a-6.点击View in Repository按钮,当前仓库中高亮选中的那个测试对象就是刚添加的。

案例:计算器,3+5=,关闭。Test3005
修改代码为3+8=,关闭。
修改代码为7+8=,关闭。
修改代码为7+3=,关闭。
修改代码为7+35=,关闭。
修改代码为71+35=,关闭。

b.手工添加测试对象的方法二是通过对象仓库页面中单独的添加对象功能来添加。
b-1.打开对象仓库。
b-2.打开被测系统,操作到显示目标控件对象的页面。
b-3.选择对象仓库页菜单Object=》Add Objects to Local...,或点击工具栏的灰色小加号。
b-4.使用手型鼠标点击选中被测系统页面上目标控件。
注意:如果被测系统的页面被遮挡,长按键盘上的Ctrl键,使用箭头形鼠标移动、关闭、最小化遮挡它的窗口,然后再释放Ctrl键,使用手型鼠标点击选中目标控件。
b-5.在弹出框中选择父子对象,OK

案例:Flight,录制登录后退出的步骤,保存,运行。
修改代码在输入密码之前,增加点击Help和点击”确定“的步骤。
修改代码,在等待后,退出前,增加点击工具栏第一个按钮(新建订单按钮)的步骤。
Test2006

(2)Object is disabled
原因:当前步骤所操作的控件不可用,有可能是置灰状态,也可能是被前面的弹出框遮挡。
分析:测试数据或测试步骤的顺序是否正确,步骤间是否能够前后衔接。
解决方案:修改测试数据,或移动步骤的顺序,或增加或删除一些步骤。
(3)Cannot find ……. Verify that …… properties match an object currently displayed in your application.
关键单词:properties match(属性匹配)
特点:很慢(大概20秒后才报错!)
原因:使用对象仓库中测试对象的关键属性列表无法识别到当前被测系统中唯一的实际对象。
分析:是否是回放前忘记关闭被测系统,查看被测系统的个数,查看被测系统当前页面是否存在目标控件。
解决方案:
关闭被测系统再运行,可能需要修改QTP菜单Automation=》Record and Run Settings中配置,可能需要修改步骤的顺序或步骤使用的数据。

posted @ 2019-06-10 22:16  不沉之月  阅读(2643)  评论(0编辑  收藏  举报