功能自动化测试之QTP录制脚本(二)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/103669528四、录制脚本录制完成后必须回放脚本,出现错误或其他问题时,要对脚本进行调试。1.案例1.1 FlightQTP 自带的单机版软件,俗称“单机版小飞机”。在如下目录就能找到...
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家!
接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/103669528
四、录制脚本
录制完成后必须回放脚本,出现错误或其他问题时,要对脚本进行调试。
1.案例
1.1 Flight
QTP 自带的单机版软件,俗称“单机版小飞机”。
- 在如下目录就能找到这个小飞机程序,具体怎么登录以及软件的业务及使用会在下个案例一起演示的

1.2 MTours
需要自己安装,俗称“网页版小飞机”。
1.2.1 搭建被测网站
- 挂载安装程序,MTours目录下的Setup.exe安装程序,傻瓜式安装

- 在程序中找到安装的MTours目录,先停止服务,再启动服务

- 紧接着当服务器运行窗口打开后,打开程序中提供的页面,需要注意的是这个地址并没有添加8080端口,需要自己在地址栏添加,不然无法打开页面

- 回到网站,点击register注册账号

- 在注册页面,输入必填项(红字项),点击submit提交却出错了

- 复制准备的1.2目录文件,替换掉C:\Program Files\Mercury Interactive\MercuryTours\Javasoft\jre\1.2目录

- 启动服务,重新打开页面,进行注册,显示注册成功

1.2.2 熟悉测试案例的业务和使用流程
- 登录注册的cdtaogang用户,进行订票

- 如下

- 到如下页面,输入红字必填项,点击购买即可

- 购买完成,机票信息如下

- 打开小飞机程序,代理名称随便填写,点击帮助则可以查看密码

- 登录成功,显示如下

- 在文件中选择打开文件,可以该软件自带订单进行查看,此软件默认有1-10这10个订单

- 确定后,订单编号为1的订单信息如下所示

- 点击上方菜单中的红叉,也就是删除按钮,对此订单进行删除,提示无法删除(因为订单是系统软件自带的,而不是用户使用软件后创建的,所以用户是无法删除的)

- 创建订单,选择出发日期,选择从伦敦到巴黎,查看航班信息一共有6趟,不同的起点和终点,对应的航班都不一样

- 选择航班后,最后输入客户姓名和机票数,点击插入订单,则将该订单信息写入到数据库中

- 写入数据库成功后,会显示已插入状态,那么通过这些显示的提示,通过QTP录制来进行测试的

2.脚本错误分类
2.1 语法错误
是由不正确的脚本语法导致的。
2.2 运行时错误
是脚本在执行过程中脚本指令试图执行不可能的动作而导致的。
2.2.1 QTP录制单机版软件
- 打开QTP,在弹出的插件管理器中,什么都不要勾选,因为Flight小飞机是安装到windows程序中的

- 录制单机版软件进行订票

- 点击停止,录制完毕如下

- 录制脚本完成,一定要运行脚本,查看是否正确,切记要把之前录制时打开的程序关闭,查看结果,目前来说脚本是没有问题的

- 保存脚本

2.2.2 QTP录制MTours
- 首先新建脚本,点击录制后,安装之前搭建被测网站那样的方式,先启动服务,打开MTours提供的页面,在地址栏localhost后面加上:8080,,回车后打开MTours主页,关闭页面,关闭服务,最后停止录制,脚本如下

- 执行脚本,查看脚本是否正确,能否打开MTours主页,提示如下错误,服务器批处理文件成功运行,但是在打开页面时则无法打开,说明浏览器没有打开

- 重新新建测试,重新录制,这次改变的策略为不打开MercuryTours页面,而是打开浏览器然后在地址输入http://localhost:8080/mtours地址打开主页并进行登录,登录成功后提示如下弹框,勾选下次不再显示,并点击确定

- 最后脚本录制完成如下

- 执行脚本,验证脚本是否正确,执行脚本过程到输入密码点击登录后,出现的弹框导致脚本执行出错,原因很简答,因为在录制的时候有一个弹框是勾选下次不要显示,所以导致执行脚本时并没有发现此弹框导致错误报错

- 解决方法:删除或注释掉关于不要再显示此消息的脚本命令即可,就是错误提示框上显示的17行脚本命令,以及前后面的确定点击操作,意思就是第一次进入页面能见的操作但以后在访问页面不会出现的操作所对应的脚本命令全部注释或者删除,自己调试即可

- 再次运行脚本,虽然没有报错,但是还是不正确,原因是这是一个web页面而不是windows上的程序,导致在执行脚本时各种不准确,所以博主需要退出QTP重新进入选择web程序

- 最终脚本如下

- 运行脚本查看结果,目前来说是没有问题的,将其保存

3.QTP 的视图
3.1 关键字视图(Keyword View)
-
实际上是一个表格,是被测应用中被操作的具有层次结构的对象、对象被执行的动作、对象被设定的值的有序集合。
√ Item/项:表示各个界面元素(控件的类型和名称)。
√ Operation/操作:表示对界面元素的做出的动作,每一个动作串起来就是一系列的测试步骤。
√ Value/值:测试输入的数据。
√ Documentatio/文档:测试文档,可以导出作为测试用例。 -
关键字驱动测试方法或表格驱动测试方法
√ 此方法把应用程序的功能文档化为表格,用一步步的指令指导执行每一个测试步骤。
√ 重点在于开发表格和关键字,自动化框架根据表格数据和关键字来执行脚本,驱动应用程序。
3.2 专家视图(Expert View)
-
用于编写和修改脚本代码。
-
层次关系
√ 点号:“.” -
注释
√ '(英文单引号)或 rem -
关键字不区分大小写

3.3 活动屏幕视图(Active Screen)
- 显示操作的截图。
- 不显示截图的解决办法
√ 自动化→更新运行模式→确定
- 如果发现活动窗口中没有视图的话,那么就在自动化菜单中更新即可

3.4 数据表视图(DataTable)
用于进行参数化,用于存放测试用例中的数据。
4.QTP 专家视图
4.1 打开文件或程序
-
SystemUtil.run “file”
√ 用于打开一个文件或程序。
√ file 表示文件或程序的完整路径及名称。 -
SystemUtil.run “file” , “para”
√ para 表示启动参数。
√ 打开 Tomcat
✰ SystemUtil.Run “…\jakarta-tomcat-3.3\bin\tomcat.bat”,“start”
- SystemUtil.Run “iexplore.exe”, “url 地址”
√ 打开一个网页
√ 如 http://localhost:8080/mtours
案例
- 打开记事本

- 打开桌面上的文件

- 如打开start server.bat文件,同理也是从程序中找到该文件,右击属性目标位置,使用systemutil.run打开

- 打开系统自带的IE浏览器

- 打开浏览器并在浏览器中输入地址

4.2 QTP 对象的分类和名称
| 类 | 单机+C/S | 类 | Web |
|---|---|---|---|
| 窗口 | window | 浏览器 | browser |
| 对话框 | dialog | 页面 | page |
| 文本框 | winedit | 文本框 | webedit |
| 单选按钮 | winradiobutton | 单选按钮 | webradiogroup |
| 复选框 | wincheckbox | 复选框 | webcheckbox |
| 下拉列表 | wincombobox | 下拉列表 | weblist |
| 列表框 | winlist | ||
| 命令按钮 | winbutton | 命令按钮 | image |
| 其他对象 | winobject |
单机+C/S:
Web:
4.3 QTP 对象的操作
-
置文本框的值
√ 对象名.Set 值数据
√ 对象名.type 值数据 -
点击对象
√ 对象名.click 坐标
✰ 坐标可以省略 -
选择值
√ 对象名.select 值
√ 对象名.select 索引号
✰ 索引号:0 表示第 1 项,依次类推。
√ 下拉列表、列表框
✰ 单机版软件:直接用整数。
✰ 网页:可用整数,也可用"#索引号",从 0 开始
√ 单选按钮
✰ 网页:必须用"#索引号",双引号不能省略。
✰ 只能用于网页中。 -
设置网页页面同步
√ browser(“浏览器标题”).page(“网页标题”).sync
✰ browser.sync 表示等待浏览器中页面中所有的元素都已加载完成后后进行下一步操作,加载完成的标志是浏览器左下角显示“完成”字样。
√ 打开某个网址
✰ browser(“浏览器标题”).navigate url
√ 关闭浏览器
✰ browserbrowser(“浏览器标题”).Close
✰ browserbrowser(“浏览器标题”).CloseAllTabs,不管浏览器中有多少标签,不会提示是否全部关闭,而直接全部关闭 -
在mtours脚本中,第三行命令后面就设置了网页页面同步,如果第三步中页面未显示完成,则不会执行第四行脚本

4.3.1 修改单机版软件脚本中的控制值
- 将之前的脚本复制,复制到下面,注释之前的脚本,在脚本中修改控制值,运行脚本与预期设定脚本值一致插入订单(需要注意的点是当修改了控件值后,要去判断下面的脚本会不会出错,包括是否跟录制时遇到的选项及界面保持一致,不然则会出错,不过即使出错也是很好处理的)

4.3.2 修改网站脚本中的控制值
- 修改如下几项

- 运行脚本,提示在执行38行代码时提示以下错误

- 原因是单选框,不能直接使用数字,需要在38行代码上对于数字添加"#",还要注意博主填写的数字为3,其实根本没有这个3,因为下标是从0开始的,所以改为2即可,那么如果怕出错可以将所有select 数字的全部加上"#",执行脚本成功

5.对象库管理
5.1 查看对象
- 点击上方菜单的对象库按钮

5.2 添加对象入库
- 利用活动屏幕视图
√ 右击 Active Screen 中的对象后单击“查看/添加对象”(View/Add Object)。 - 如下图在对象库管理中,在登录对象下面只有帮助没有取消,确定没有是因为博主录制时点击的回车,如果单独录制的话就很麻烦,要在当前对象库中添加这个取消对象,则可以进行添加

- 鼠标点击登录界面的脚本,右击活动窗口中的取消按钮,点击查看/添加对象

- 点击添加到库中即可

- 查看对象库管理器中登录下面就存在取消对象了

- 利用 Spy 对象探测器
√ 当对象被遮住或需要某些操作才能显示时,可以按着 Ctrl,当鼠标变为手形时即可捕获对象。 - 在对象库管理器或者窗口栏菜单中,点击如下图标打开对象对象探测器

- 侦探flight确定按钮

- 点击确定按钮后,回到如下界面

- 紧接着点击如下图标,进入入库


- 在对象库中操作
√ Resources 菜单或工具栏工具命令。 - 在对象库管理中,点击如下按钮,则可以添加对象到库中,具体操作跟对象探测器一致

- 批量入库
√ 对象库中点击菜单“对象”→将对象加到本地。
√ 菜单“资源”→对象库管理器→对象→导航并了解→了解→点击窗口标题→关闭。
第一种方式: - 如添加计算器,同意点击将对象添加到本地

- 同样的按住ctrl键打开计算器,然后松开ctrl键,点击计算器

- 选择所有对象

- 点击确定后计算器全部对象则添加进来了

第二种方式: - 如添加记事本,打开对象库管理器

- 选择对象——导航并了解

- 然后打开记事本,按照以下操作

- 点了了解过后,需要点击关闭,会自动回到对象管理器界面,那么记事本对象则添加成功

5.3 对象的重命名、复制和删除
在对象仓库中,右击对象即可。
5.4 对象库复用
- 导出对象库
√ File→Export Local Object,可以保存至本地磁盘,扩展名为.tsr - 打开对象库,如果想要全部导出则选中测试对象,否则要导出哪个则选中即可

- 点击对象库菜单栏——文件中——导出

- 导入对象
√ 菜单“资源”→关联对象库(Resources→Associate) - 首先需要新建一个测试,选择资源——关联库

- 选择+添加,找到之前导出的库

- 到如下页面,需要将action可用操作添加到关联操作栏

- 打开关联库,查看导入的库

- 因为是导入进来的对象,所以是无法进行重命名修改删除操作的,所以颜色为白色,全部选中选择复制到本地,则可以恢复一切的操作,因为copy

6.脚本补录
6.1 直接录制
务必首先定位到需要补录的位置。
举例:如在登录flight软件时,需要去点击帮助,没有点击,此时需要进行补录
第一种:
- 首先新建一个测试,录制flight登录,此时没有点击帮助

- 当输入代理名称后忘记密码,那么可以点击帮助,现在则在输入代理名称脚本后面(前后空一行),点击录制进行补录帮助,需要注意的是在点击录制之前,一定要打开flight登录窗口,然后再点击录制,最后点击帮助,只录取帮助

第二种:
- 定位需要补录的位置,将之后的脚本进行注释掉,直接运行脚本(肯定会打开软件),脚本运行完成后,再点击录制,完成操作即可表示为补录

- 录制完成后,再将注释掉的脚本恢复即可

6.2 添加对象入库
-
利用活动屏幕视图。
√ 右击 Active Screen 中的对象后 Step Generator。 -
将对象库中的对象直接拖动到代码或关键字视图中。
-
直接操作关键字或者写脚本。
第一种:
- 删除脚本中的确定取消帮助以及航班预订等脚本,同时在对象库中删除相应的对象

- 当输入代理名称和密码后,想点击取消,那么在活动窗口,右击取消——步骤生成器

- 勾选插入即可

- 脚本如下,运行与预期一致

第二种:
- 如补录确定按钮,在活动窗口右击查看/添加对象

- 选择添加到库中,并在库中查看

- 在对象库中直接拖动确定按钮到脚本中即可,(专家视图和关键字视图都是可以拖动的)

第二种:
- 切换到关键字视图中,然后选中登录——右击插入新步骤——选中确定即可

- 添加的新步骤位置不对时,可以拖动调换即可

更多推荐


所有评论(0)