QTP自动化测试入门

一、自动化测试概述

自动化测试是手工测试的补充

功能类自动化测试工具的主要应用领域:回归测试阶段

1、软件自动化产生原因

(1)工作量大

(2)包含了大量的复杂操作

(3)大部分工作为非智力创造性

(4)手工模拟真实环境困难

(5)测试结果不精确

2、自动化测试阶段:

自动测试决定——测试工具获取——自动化测试引入——测试计划、设计与开发——测试执行与管理——测试评审和评估

3、什么样的项目不适合自动化测试

(1)短期项目并且是一次性的项目,不适合开展自动化测试

(2)不宜在一个进度非常紧迫的项目中开发自动化测试

4、界面稳定后可以考虑开始介入自动化测试(参考控件名和相对位置)

5、自动化测试脚本编写方法

自动化框架:自动化测试工具、自动化测试脚本(用例+数据+代码)、被测软件

(1)线性脚本编写:非结构化编程,测试数据在脚本中是硬编码

(2)结构化脚本编写:引入了结构化语句(if、else、switch、while),测试数据在脚本中是硬编码

(3)共享脚本编写:测试数据可以多脚本共享

(4)数据驱动脚本编写:数据独立存储在数据表或外部文件(数据可以修改)

(5)关键字驱动脚本编写:综合了数据驱动脚本编写方法、共享脚本编写方法和结构化编写方法。需要额外的框架或库,会在脚本中用关键字来区分控件(B/S架构中一般以被测控件的内容属性值来命名)

B/S架构中能够与服务器发生交互的是HTML页面中的表单;name属性:标签的变量名称

测试工具要完成两件事(录制+回放)

6、UFT/QTP

QTP:关键字驱动的功能测试工具、支持脚本语言:VBScript、擅长:java、web、.net

对象库

(1)测试流程:定制测试计划——创建测试脚本(录制)——增强测试脚本功能——运行测试——分析测试结果

创建测试脚本:QTP将自动录制测试人员的每一步操作,自动生成测试脚本语句,还将被操作对象和其相应的动作按照层次和顺序保存在一个基于表格的关键字视图中

(2)QTP的快捷键

F1:帮助

F3:开始录制

F4:停止录制

F5:运行录制脚本

F9:设置/取消断点

F10:step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into效果一样的(简而言之,越过子函数,但子函数会执行)

F11:step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数)

Ctrl+R:打开对象库

Ctrl+F7:编译脚本

(3)注释:'(单引号)

(4)debug views窗口调试代码:对希望调试的变量单机右键,选择“add to watch”,然后可以在variables中看到;在command中也可以直接输出变量值:①msgbox 变量名:以对话框的形式弹出变量值;②print 变量名:以文本形式弹出变量值

(5)增强脚本

基本修改:①插入if、for、while循环

                  ②对象属性操作:GETRO、GETTO、SETTO、Exist

                  ③对象常用事件操作:click、set、sync、wait

                  ④打印:msgbox、print

(6)脚本录制模式

①normal recording(正常录制):通过识别程序中的对象来代替以前依赖识别屏幕坐标的形式。但是正常模式并不能保证识别程序的所有对象。因此,仍需要其他两种模式来补充。该模式不记录对象的坐标,只记录控件对象。

②analog recording(模拟录制):先启动正常录制后,才可以启动模拟录制。点击模拟录制的图标,或者shift+alt+f3快捷键。此类模拟录制了所有键盘和鼠标的精确操作,对于正常录制模式不能录制到的动作,可以使用模拟录制来弥补,比如:录制一个鼠标光标拖动的动作。缺点:模拟录制无法编辑录制的步骤。回放时,如果改变屏幕的分辨率或者窗口/屏幕的位置,回放就会失败

③low lever recording(低级录制):先启动正常录制后,才可以启动低级录制。点击低级录制的图标,或者ctrl+shfit+f3快捷键。该模式不止录制了鼠标和键盘的所有操作,对对象的位置要求也非常严格。所有的对象都以windows和winobject的形式存在。所有的父类对象为windows,所有的其他对象为winobject测试对象。这种方式使用于QTP不能正常识别对象时应用,主要是记录坐标的位置,可以对QTP不支持的对象进行坐标的记录。

(7)QTP参数化技术

①使用Data Table作为数据源进行参数化:在Data Table的表头中输入变量名,表的内容输入变量值

i)在关键字视图中选中要改的value,将其换成Data Table表中相应的参数

ii)在专家视图中直接通过代码进行修改,如:

Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("departure", dtLocalSheet)

②使用随机数作为数据源进行参数化:选中参数后选择Random Number后输入随机值,或在专家视图中修改代码,如:

Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select RandomNumber(0, 12)

③使用环境变量作为数据源进行参数化:先添加环境变量后,再给环境变量赋值。

添加环境变量的方法:file——settings——Environment——User-defined——添加(变量名变量值)

选中参数后,选择Environment,给参数选择相应的环境变量,或者在专家视图中修改代码,如:

Window("Flight Reservation").WinComboBox("Fly From:").Select Environment("departure")

④使用DataDriver引导参数化

DataDriver可以引导我们进行参数化,能自动检测出脚本中存在set或select类似带有输入选择性动作中可能需要参数化的数据

使用方法:选择tools下的DataDriver,会列出set,select动作的参数,我们可以对这些值进行参数化,参数化方法为上面三种。

(8)检查点技术:检查某个内容是否正确,插入检查点后,运行代码时,检查报告会报告passed的值,表示检查点的通过个数。

①标准检查点:在Active Screen视图中,将光标移到需要检查的对象上,单机右键选择Insert Standard CheckPoint,然后可以针对该对象选择相应的属性进行检查。或者,直接插入代码:

Dialog("Login").WinEdit("Agent Name:").Check CheckPoint("Agent Name:")

光标移到CheckPoint后要检查的对象上,单机右键同样可以选择要检查的属性。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值