《winrunner的使用》PPT课件.ppt

上传人:san****019 文档编号:7352781 上传时间:2020-03-20 格式:PPT 页数:66 大小:1.47MB
返回 下载 相关 举报
《winrunner的使用》PPT课件.ppt_第1页
第1页 / 共66页
《winrunner的使用》PPT课件.ppt_第2页
第2页 / 共66页
《winrunner的使用》PPT课件.ppt_第3页
第3页 / 共66页
点击查看更多>>
资源描述
WinRunner测试工具的运用 创建GUImap创建测试脚本同步点和检查点使用TSL撰写测试脚本建立数据驱动测试脚本建立批次测试 WinRunner介绍 WinRunner 简称WR 是一种基于MSWindows的功能测试工具 WR可以帮助用户自动处理从测试开发到测试执行的整个过程 可以创建可修改和可复用的测试脚本 而不用担心软件功能模块的变更 样本软件和测试套件 WinRunner7 6中附带了一个用于航班预定的样本软件FlightReservation 该样本软件有两个版本Flight4A和Flight4B 其中Flight4A版本是正常的软件 Flight4B版本中则有意识加入了一些错误 样本软件的登录 可以使用任意用户名 长度至少为4 登录FlightReservation软件 密码为Mercury WinRunner和测试套件的其他工具一起提供整个测试流程的解决方案 测试计划 测试开发 GUI负载测试 错误跟踪以及多用户系统客户端负载测试 常用测试套件有 TestDirector 测试管理工具 LoadRunner 用于Client Server结构软件的测试工具 使用WinRunner进行自动化测试的好处 WinRunner的测试模式 以WinRunner执行测试 就与人工测试一样 WinRunner会仿真鼠标的动作与键盘的输入 当在软件操作中点击GUI 图形用户界面 对象时 WR会使用一种类C的测试脚本语言 TSL 生成一个测试脚本 测试人员可以用手工编程的方法编辑这个脚本 WinRunner包括的功能生成器 FunctionGenerator 可以帮助用户快速简便的在已录制的测试中添加功能 WinRunner有两种录制测试的模式 1 环境判断模式 ContextSensitiveMode 2 模拟模式 AnalogMode 环境判断模式 环境判断模式根据用户选取的GUI对象将用户对软件的操作动作录制下来 并忽略这些对象在屏幕上的物理位置 每一次对被测软件进行操作 测试脚本会描述用户选取的对象和操作动作 当进行录制时间 WR会对选取的每个对象做唯一描述并写入GUImap 映射 中 GUImap和测试脚本被分开保存和维护 当软件用户界面发生变化时 用户只需更新GUImap 这样一来 环境判断模式的测试脚本将非常容易地被重复使用 执行测试时只需要回放测试脚本 回放测试脚本的过程 就是WR模拟一个用户使用鼠标选取对象 用键盘输入数据的操作过程 WR从GUImap中读取对象描述 并在被测软件中查找符合这些描述的对象 模拟模式 模拟模式记录鼠标点击 键盘输入和鼠标在二维平面上 x轴 y轴 的精确运动轨迹 执行测试时 WR让鼠标根据轨迹运动 模拟模式对于那些需要追踪鼠标运动的测试非常有用 例如画图软件 WinRunner的测试流程创建GUImap建立测试脚本对测试脚本除错 debug 在新版应用程序执行测试脚本检视测试结果回报缺陷 defect 1创建GUImap 了解WinRunner是如何识别GUI对象的掌握如何使用GUIspy查看GUI对象的属性掌握两种GUImap模式 1 1WR如何识别GUI对象 一般的Windows应用程序 通常是由窗口 按钮 菜单等组成 这些在WinRunner中通称为GUI对象 WR会通过学习这些GUI对象的属性来识别GUI对象 WR把学来的这些GUI对象的属性保存在GUIMap文件中 GUIMap是一个或多个GUIMap文件的总和 当执行测试时 WR使用GUIMap定位对象 先从GUImap读取有关对象的描述 然后寻找有相同属性的对象 GUI对象的属性包括 class label width height handle以及enable等 WR只会记录最少但可组合成唯一的属性来识别GUI对象 例如 当WR识别一个 OK 按钮时 会记录这个按钮所属的窗口 如属于OPEN窗口 隶属的class 如push button 和按钮的label 如OK 来识别该按钮 而其他的width height handle以及enable等属性都不会被用到 脚本中如何识别GUI对象在测试脚本中 WR使用逻辑名 Logicname 定义对象 如 Print 定义Printdialogbox OK 定义OKbutton 对象的逻辑名由它的类 Class 决定 多数情况下 逻辑名是对象的卷标 Label 逻辑名实际上是对象物理描述 物理描述是包含一个对象物理属性的清单 的简称 逻辑名和物理描述一起作用 确保每个GUI对象有自身唯一的标识 1 2如何学习GUI对象的属性 WR提供一个叫GUISpy的工具 可以用来学习单个GUI对象的属性 也可用于查看某个GUI对象有哪些属性以及WR是以哪些属性来识别此GUI对象 使用RapidTestScriptWizard在录制脚本前让WR一次性的学习被测软件中所有的GUI对象 如果GUI发生变化 再用GUIMapEditor来单独学习发生变化的窗体或对象 并以此更新GUIMap RapidTestScriptWizard只能在GlobalGUIMap模式下使用 1 3GUIMap的两种工作模式 当WR识别完GUI对象后 会将GUI对象的逻辑名和物理描述存储在GUIMapFile中 WR提供两种GUIMap的工作模式 GUIMapFilePerTest和GlobalGUIMapFile 因此 用户在创建测试前应先确定要使用哪种GUIMap模式 GUIMapFilePerTest 每次新建测试就自动创建一个GUIMapFile WR会在用户保存测试 打开测试时 自动保存和自动加载GUIMapFile GlobalGUIMapFile 多个测试脚本共享同一个GUIMapFile 用户要手工保存和加载使用的GUIMapFile 这是WR的默认模式 操作演示两种模式的切换两种模式下GUImap的生成 两种模式的比较 2创建测试脚本 掌握两种录制模式 ContextSensitive和Analog了解如何阅读测试脚本内容执行测试脚本并分析其结果 2 1WR的两种录制模式 环境判断模式 ContextSensitiveMode 环境判断模式是以GUI对象为基础的 WR会识别GUI对象 如窗口 按钮等 并记录执行的操作 如按下 移动 选取等 以按下登录界面中 OK 按钮为例 测试脚本中会显示为 在执行时 WR会找寻 OK 按钮 并按下它 Button press OK 模拟模式 AnalogMode 模拟模式记录鼠标点击 键盘输入和鼠标在二维平面上 x轴 y轴 的精确运动轨迹 执行测试时 WR让鼠标根据轨迹运动 同样以按下登录界面中 OK 按钮为例 执行测试时会通过控制鼠标的移动完成测试 Move locator track 1 鼠标移动 Mtype 按下鼠标左键 Mtype 放开鼠标左键 两种录制模式的区别 实验一GUIspy 打开flight4a的应用程序开启GUISpy点选 Tools GUISpy 利用GUISPY继续完成登录界面中所有GUI对象的学习检视GUISpy显示的信息了解WinRunner是如何用最少的属性来识别GUI对象 实验二RapidTestScriptWizard 打开flight4a的应用程序利用RapidTestScriptWizard对 flightreservation 窗口的所有GUI对象进行学习 并生成名为 flight4a gui 的guimap文件 实验三录制测试脚本 以contextsensitive模式录制在FlightReservation中新增一笔订单在 openorder 窗口打开新增的订单选择 faxorder 输入faxnumber勾选sendSignaturewithorder在签名栏中签名清除签名 切换为Analog模式继续录制在清空后的签名栏中签名切换回contextsensitive模式选择发送 目的 比较两种录制模式的区别 熟练使用两种模式录制脚本 实验四执行测试 关闭flight4a 打开flight4b选择 runfromtop 检查测试结果 Winrunner中有三种执行模式可供选择 verify 此模式下能执行测试以检查应用程序的功能 且能存储测试结果Debug 此模式下能检查测试脚本执行是否正确 并对脚本进行调试Update 此模式下允许更新检查点的预期值 3同步点和检查点 同步点GUI对象检查点图像检查点文字检查点 3 1同步点 问题的引入执行测试时 被测程序每次操作的响应时间不一定 时快时慢 导致执行输入动作的时间也需要等待 如从数据库取得数据等待窗口开启等待状态列成为100 解决方案增加WinRunner的预设等待时间在测试脚本中插入同步点 同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题 当WR执行到同步点时 会暂停执行以等待应用程序某些状态的改变后 再继续执行脚本 3 2GUI检查点 检查点可以让用户比较软件当前版本和以前版本的区别 录制测试时 在用户需要检查软件反应的地方插入检查点 插入检查点后 WR会收集一套性能指标 在测试运行时对其一一验证 GUI检查点位图检查点文本检查点数据库检查点 Winrunner中通过建立GUI检查点 检查GUI对象的属性 并以此判定该对象的功能是否正常 插入GUI检查点 检查单个属性的值 点选Insert GUICheckpoint ForSingleProperty检查单个对象 点选Insert GUICheckpoint ForObject Window检查一个窗体中的多个对象 点选Insert GUICheckpoint ForMultipleObjects 插入检查点后 脚本中将加入obj check gui语句或win check gui语句 3 3位图检查点 位图检查点是做一个窗体或区域的截图 并把这张图片和以前的版本进行比较 检查是否存在差异 Winrunner提供三种方式建立图像检查点 屏幕区域 以鼠标拖拉方式决定图像检查点的区域窗口 以整个窗口作为图像检查点的区域GUI物件 以整个GUI对象作为图像检查点的区域 3 4文本检查点 文本检查点读取GUI对象和位图中的文本 使你可以检验文本内容 3 5数据库检查点 数据库检查点检查一定数量的行和列组成的集合 这个集合由你在数据库中创建 的内容 实验五同步点 在FlightReservation中建立一张新的订单 并新增到数据库中变更预设等待时间的设定如何识别何种问题需要以同步点解决加入同步点执行测试脚本检视结果 具体步骤 录制测试脚本1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 建立新的订单5 填入航班与旅客资料6 点选 InsertOrder 将订单新增到数据库中7 点选 DeleteOrder 删除刚才新增的订单8 停止录制 并保存测试脚本为lesson5 变更预设等待时间的设定1 点选Tools GeneralOptions 2 选取Run Settings3 将10000msec改成1000msec 1秒 4 按下 OK 如何识别何种问题需要以同步点解决1 启动WR 并加载刚保存的lesson5脚本2 点选 RunFromTop 3 暂停执行4 按下 Pause 加入同步点1 确认FlightReservation已经启动2 确认WR已经启动 并加载lesson5测试脚本与GUIMapFile3 将光标移动到要插入同步点的位置4 插入同步点 点选Insert SynchronizationPoint ForObject WindowBitmap5 手动将1秒钟改成10秒钟 obj wait bitmap InsertDone Img1 10 6 保存测试脚本7 如果在GlobalGUIMapFile模式下 记得保存新的GUI对象 实验六GUI检查点 插入GUI检查点1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 打开 OpenOrder 窗口5 对 OrderNO checkbox插入检查点6 输入订单编号47 对 OrderNO checkbox插入另一个检查点8 对 CustomerName checkbox插入检查点9 点选 OK 打开订单10 停止录制 并保存测试脚本 打开flight4a执行测试检视测试结果用鼠标双击 endGUIcheckpoint 检查是否通过 若未通过是哪个属性不符合打开flight4b执行测试并检视测试结果对比两个版本中的测试结果 体会什么时候应该使用GUI检查点 以及GUI检查点能帮助我们完成什么功能 实验七位图检查点 录制测试脚本以contextsensitive模式录制输入faxnumber勾选sendSignaturewithorder切换为analog模式录制在签名栏中签名切换回contextsensitive模式录制 建立图像检查点 insert bitmapcheckpoint forObject window 清除签名再建立图像检查点关闭传真订单窗口停止录制存储测试脚本 打开flight4a 执行测试脚本 检查测试结果打开flight4b 执行测试脚本 检查测试结果对比两个版本中的测试结果 体会什么时候应该使用位图检查点 以及位图检查点能帮助我们完成什么功能 4使用TSL撰写测试脚本 如何在录制好的测试脚本中以可视化的方式加入函数如何在测试脚本中手动加入脚本代码如何除错 4 1以可视化方式加入函数 当你在录制测试脚本时 你对应用程序的所有操作 不管是点选按钮或是键盘输入 WinRunner会产生一行一行的测试脚本 这每一行的测试脚本称为TSL TestScriptLanguage WinRunner提供可视化工具 函数产生器 FuncationGenerator 帮助在测试脚本中快速插入函数 函数产生器 FunctionGenerator 的两种使用方式 直接点选GUI对象 让WinRunner为你建议合适的函数 然后再把函数加入测试脚本中直接从函数清单中挑选需要使用的函数除了使用和函数外 TSL也提供一般程序语言具备的元素 如条件判断 循环 表达式等 取得某个字段的值函数产生器开启并建议使用edit get text函数 按下 Paste 按钮将函数插入测试脚本中 选取 Insert Function ForObject Window 或是按下工具栏上的按钮 对象名 变量名 4 2在测试脚本中手动加入代码 在需要加入代码的地方插入空白行加入如下脚本加上批注选取 Edit Comment 直接在代码中以 开始作为批注 if tickets price total tl step total 0 Totaliscorrect elsetl step total 1 Totalisincorrect 动作名称 0 通过1 失败 在WR中对此动作的显示信息 4 3测试脚本除错 WinRunner提供了除错的工具 通过工具可以执行 逐行执行测试脚本设定断点以watchlist检查变量的值选择以模式执行测试脚本测试结果存储在debug目录中每次以模式执行测试后 WinRunner会覆写上次的debug执行结果 实验八 录制测试脚本开启订单传真订单选择 Cancel 关闭传真订单窗口使用函数产生器在测试脚本中插入函数依次获取订单窗口上的 Tickets TicketPrice Total 字段的值在测试脚本中加入判断式对测试脚本除错在Flight4B中执行测试脚本 5建立数据驱动测试脚本 如何使用数据驱动精灵建立数据驱动测试脚本学习使用regularexpression作为对象名称如何让测试脚本重复执行 5 1建立数据驱动测试脚本 当你建立好测试脚本后 可能会想用多组不同的数据去执行测试脚本 为达到此目的 可以将测试脚本转换为数据驱动测试脚本 并建立一个数据表提供测试所需的多组数据 加上开启及关闭数据表的指令加上循环并读取数据表的每一笔数据将录制的固定值与检查点的值参数化为数据表的字段值 使用数据驱动精灵 DataDriverWizard 手动修改测试脚本 数据驱动精灵的使用 选取 Table DataDriverWizard 建立数据表 输入数据表的名称 输入该数据表在脚本中的变量名 设定参数化选项 Addstatementstocreateadata driventest 表示由数据驱动精灵自动将转成数据驱动测试脚本的指令加到测试脚本中 预设是勾选的 Importdatafromadatabase 从数据库中导入数据 预设未勾选 Parameterizethetest 表示要做参数化 预设是勾选的 Linebyline WR会显示可以做参数化的脚本 并让你决定真正要做参数化的字段 预设是勾选的 Automatically 由WR自主决定要做参数化的字段 预设未勾选 选择要被参数化的值 在数据表中新插入一列 将数据加入数据表中选取 Table DataTable 开启数据表加上数据 5 2RegularExpression的使用 执行数据驱动测试脚本时 你可能发现有些控件的label是随着窗口的变化而变化的 执行过程中会由于找不到相应的控件label而报错 这时你需要通过regularexpression来解决 所谓regularexpression就是利用某些通配符来表示特定的字符 内容 或 内容 实验九 打开实验八的测试脚本执行数据驱动精灵建立数据表加入数据以RegularExpression调整测试脚本用debug模式执行测试脚本通过后打开flight4B 用verify模式执行 6建立批次测试 说明如何使用批次测试执行一整组的测试脚本说明如何建立批次测试执行批次测试并检视结果 6批次测试 当应用程序刚刚变更 为了获得新版程序中可能存在的问题 我们需要一次执行所有测试脚本 这时需要用到批次 batch 测试的概念 批次测试通过call命令来开启其它测试脚本在执行批次测试之前 选择 Tools GeneralOptions 点选Run后勾选Runinbatchmode选项 此选项会让WinRunner不再跳出讯息对话窗口而中断测试的执行 call c wr flights test 实验十 尝试自己使用call命令调用实验六 七 八的测试脚本 形成批测试脚本 在Flight4B中执行对生成的脚本进行修改 使其能够循环运行4次 Winrunner中循环可使用for while 其语法与C语言完全相同 Winrunner中变量如果未经声明直接使用会被默认为public类型
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!