




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WinRunner测试工具的运用,创建GUI map 创建测试脚本 同步点和检查点 使用TSL撰写测试脚本 建立数据驱动测试脚本 建立批次测试,WinRunner介绍,WinRunner(简称WR)是一种基于MS Windows的功能测试工具。 WR可以帮助用户自动处理从测试开发到测试执行的整个过程,可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。,样本软件和测试套件,WinRunner 7.6 中附带了一个用于航班预定的样本软件Flight Reservation。该样本软件有两个版本Flight4A 和Flight4B,其中 Flight4A 版本是正常的软件, Flight4B 版本中则有意识加入了一些错误。 样本软件的登录:可以使用任意用户名(长度至少为4)登录Flight Reservation软件,密码为Mercury。 WinRunner和测试套件的其他工具一起提供整个测试流程的解决方案:测试计划、测试开发、GUI负载测试、错误跟踪以及多用户系统客户端负载测试。常用测试套件有: TestDirector(测试管理工具) LoadRunner(用于Client/Server结构软件的测试工具),使用WinRunner进行自动化测试的好处,WinRunner的测试模式,以WinRunner执行测试,就与人工测试一样,WinRunner 会仿真鼠标的动作与键盘的输入。当在软件操作中点击GUI(图形用户界面)对象时,WR会使用一种类C的测试脚本语言 (TSL) 生成一个测试脚本。测试人员可以用手工编程的方法编辑这个脚本。 WinRunner包括的功能生成器 (Function Generator) 可以帮助用户快速简便的在已录制的测试中添加功能。 WinRunner有两种录制测试的模式: (1)环境判断模式(Context Sensitive Mode) (2)模拟模式(Analog Mode),环境判断模式,环境判断模式根据用户选取的GUI对象将用户对软件的操作动作录制下来,并忽略这些对象在屏幕上的物理位置。每一次对被测软件进行操作,测试脚本会描述用户选取的对象和操作动作。 当进行录制时间,WR会对选取的每个对象做唯一描述并写入GUI map(映射) 中。GUI map和测试脚本被分开保存和维护。当软件用户界面发生变化时,用户只需更新GUI map。这样一来,环境判断模式的测试脚本将非常容易地被重复使用。 执行测试时只需要回放测试脚本。回放测试脚本的过程,就是WR模拟一个用户使用鼠标选取对象、用键盘输入数据的操作过程。 WR从GUI map中读取对象描述,并在被测软件中查找符合这些描述的对象。,模拟模式,模拟模式记录鼠标点击、键盘输入和鼠标在二维平面上(x轴、y轴)的精确运动轨迹。执行测试时,WR让鼠标根据轨迹运动。 模拟模式对于那些需要追踪鼠标运动的测试非常有用,例如画图软件。,WinRunner 的测试流程 创建GUI map 建立测试脚本 对测试脚本除错(debug) 在新版应用程序执行测试脚本 检视测试结果 回报缺陷(defect),1 创建GUI map,了解WinRunner是如何识别GUI对象的 掌握如何使用GUI spy查看GUI对象的属性 掌握两种GUI map模式,1.1 WR如何识别GUI对象,一般的Windows应用程序,通常是由窗口、按钮、菜单等组成,这些在WinRunner中通称为GUI对象。WR会通过学习这些GUI对象的属性来识别GUI对象。 WR把学来的这些GUI对象的属性保存在GUI Map文件中(GUI Map是一个或多个GUI Map文件的总和) 。当执行测试时,WR使用GUI Map定位对象:先从GUI map读取有关对象的描述,然后寻找有相同属性的对象。,GUI对象的属性包括:class, label, width, height, handle以及enable等。WR只会记录最少但可组合成唯一的属性来识别GUI对象。 例如,当WR识别一个“OK”按钮时,会记录这个按钮所属的窗口(如属于OPEN窗口),隶属的class(如push_button)和按钮的label(如OK)来识别该按钮。而其他的width, height, handle以及enable等属性都不会被用到。,脚本中如何识别GUI对象 在测试脚本中,WR使用逻辑名(Logic name) 定义对象:如“Print”定义Print dialog box,“OK” 定义OK button。对象的逻辑名由它的类(Class) 决定。多数情况下,逻辑名是对象的卷标(Label)。 逻辑名实际上是对象物理描述(物理描述是 包含一个对象物理属性的清单)的简称。 逻辑名和物理描述一起作用,确保每个GUI对象有自身唯一的标识。,1.2 如何学习GUI对象的属性,WR提供一个叫GUI Spy的工具,可以用来学习单个GUI对象的属性,也可用于查看某个GUI对象有哪些属性以及WR是以哪些属性来识别此GUI对象。 使用RapidTest Script Wizard在录制脚本前让WR一次性的学习被测软件中所有的GUI对象。如果GUI发生变化,再用GUI Map Editor来单独学习发生变化的窗体或对象,并以此更新GUI Map。 RapidTest Script Wizard只能在Global GUI Map模式下使用,1.3 GUI Map的两种工作模式,当WR识别完GUI对象后,会将GUI对象的逻辑名和物理描述存储在GUI Map File中。WR提供两种GUI Map的工作模式:GUI Map File Per Test和Global GUI Map File。因此,用户在创建测试前应先确定要使用哪种GUI Map模式。,GUI Map File Per Test:每次新建测试就自动创建一个GUI Map File。WR会在用户保存测试、打开测试时,自动保存和自动加载GUI Map File。 Global GUI Map File:多个测试脚本共享同一个GUI Map File,用户要手工保存和加载使用的GUI Map File。这是WR的默认模式。 操作演示 两种模式的切换 两种模式下GUI map的生成,两种模式的比较,2 创建测试脚本,掌握两种录制模式:Context Sensitive和Analog 了解如何阅读测试脚本内容 执行测试脚本并分析其结果,2.1 WR的两种录制模式,环境判断模式(Context Sensitive Mode) 环境判断模式是以GUI对象为基础的。WR会识别GUI对象(如窗口,按钮等)并记录执行的操作(如按下,移动,选取等)。 以按下登录界面中“OK”按钮为例: 测试脚本中会显示为: 在执行时,WR会找寻“OK”按钮,并按下它。,Button_press(“OK”);,模拟模式(Analog Mode) 模拟模式记录鼠标点击、键盘输入和鼠标在二维平面上(x轴、y轴)的精确运动轨迹。执行测试时,WR让鼠标根据轨迹运动。 同样以按下登录界面中“OK”按钮为例: 执行测试时会通过控制鼠标的移动完成测试。,Move_locator_track(1); 鼠标移动,Mtype(“-”); 按下鼠标左键,Mtype(“+”); 放开鼠标左键,两种录制模式的区别,实验一 GUI spy,打开flight4a的应用程序 开启GUI Spy 点选【Tools】-【GUI Spy】 利用GUI SPY继续完成登录界面中所有GUI对象的学习 检视GUI Spy显示的信息 了解WinRunner是如何用最少的属性来识别GUI对象,实验二 RapidTest Script Wizard,打开flight4a的应用程序 利用RapidTest Script Wizard对“flight reservation”窗口的所有GUI对象进行学习,并生成名为“flight4a.gui”的gui map文件,实验三 录制测试脚本,以context sensitive模式录制 在Flight Reservation中新增一笔订单 在“open order”窗口打开新增的订单 选择“fax order” 输入fax number 勾选send Signature with order 在签名栏中签名 清除签名,切换为Analog模式继续录制 在清空后的签名栏中签名 切换回context sensitive模式 选择发送,目的:比较两种录制模式的区别,熟练使用两种模式录制脚本,实验四 执行测试,关闭flight4a,打开flight4b 选择“run from top” 检查测试结果,Winrunner中有三种执行模式可供选择: verify::此模式下能执行测试以检查应用程序的功能,且能存储测试结果 Debug:此模式下能检查测试脚本执行是否正确,并对脚本进行调试 Update:此模式下允许更新检查点的预期值,3 同步点和检查点,同步点 GUI对象检查点 图像检查点 文字检查点,3.1 同步点,问题的引入 执行测试时,被测程序每次操作的响应时间不一定,时快时慢,导致执行输入动作的时间也需要等待。如 从数据库取得数据 等待窗口开启 等待状态列成为100%,解决方案 增加WinRunner的预设等待时间 在测试脚本中插入同步点,同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题。当WR执行到同步点时,会暂停执行以等待应用程序某些状态的改变后,再继续执行脚本。,3.2 GUI检查点,检查点可以让用户比较软件当前版本和以前版本的区别。录制测试时,在用户需要检查软件反应的地方插入检查点;插入检查点后,WR会收集一套性能指标,在测试运行时对其一一验证。 GUI检查点 位图检查点 文本检查点 数据库检查点,Winrunner中通过建立GUI检查点,检查GUI对象的属性,并以此判定该对象的功能是否正常。,插入GUI检查点,检查单个属性的值: 点选Insert-GUI Checkpoint -For Single Property 检查单个对象: 点选Insert-GUI Checkpoint- For Object/Window 检查一个窗体中的多个对象: 点选Insert-GUI Checkpoint- For Multiple Objects,插入检查点后,脚本中将加入obj_check_gui 语句或win_check_gui语句。,3.3 位图检查点,位图检查点是做一个窗体或区域的截图,并把这张图片和以前的版本进行比较,检查是否存在差异。 Winrunner提供三种方式建立图像检查点: 屏幕区域:以鼠标拖拉方式决定图像检查点的区域 窗口:以整个窗口作为图像检查点的区域 GUI物件:以整个GUI对象作为图像检查点的区域,3.4 文本检查点,文本检查点读取GUI对象和位图中的文本,使你可以检验文本内容。,3.5 数据库检查点,数据库检查点检查一定数量的行和列组成的集合(这个集合由你在数据库中创建)的内容。,实验五 同步点,在Flight Reservation中建立一张新的订单,并新增到数据库中 变更预设等待时间的设定 如何识别何种问题需要以同步点解决 加入同步点 执行测试脚本 检视结果,具体步骤,录制测试脚本 1、启动WR,并加载GUI Map File (flight4a.gui) 2、启动Flight 4A,并登录 3、开始以Context Sensitive模式录制测试脚本 4、建立新的订单 5、填入航班与旅客资料 6、点选“Insert Order”,将订单新增到数据库中 7、点选“Delete Order”,删除刚才新增的订单 8、停止录制,并保存测试脚本为lesson5,变更预设等待时间的设定 1、点选Tools-General Options 2、选取Run-Settings 3、将10000msec改成1000msec(1秒) 4、按下“OK” 如何识别何种问题需要以同步点解决 1、启动WR,并加载刚保存的lesson5脚本 2、点选“Run From Top” 3、暂停执行 4、按下“Pause”,加入同步点 1、确认Flight Reservation已经启动 2、确认WR已经启动,并加载lesson5测试脚本与GUI Map File 3、将光标移动到要插入同步点的位置 4、插入同步点:点选Insert-Synchronization Point -For Object/Window Bitmap 5、手动将1秒钟改成10秒钟: obj_wait_bitmap(“Insert Done.“, “Img1“, 10) 6、保存测试脚本 7、如果在Global GUI Map File模式下,记得保存新的GUI对象,实验六 GUI检查点,插入GUI检查点 1、启动WR,并加载GUI Map File (flight4a.gui) 2、启动Flight 4A,并登录 3、开始以Context Sensitive模式录制测试脚本 4、打开“Open Order”窗口 5、对“Order NO.”check box插入检查点 6、输入订单编号4 7、对“Order NO.”check box插入另一个检查点 8、对“Customer Name”check box插入检查点 9、点选“OK”打开订单 10、停止录制,并保存测试脚本,打开flight4a执行测试 检视测试结果 用鼠标双击“end GUI checkpoint”检查是否通过;若未通过是哪个属性不符合 打开flight4b执行测试并检视测试结果 对比两个版本中的测试结果,体会什么时候应该使用GUI检查点,以及GUI检查点能帮助我们完成什么功能。,实验七 位图检查点,录制测试脚本 以context sensitive模式录制 输入fax number 勾选send Signature with order 切换为analog模式录制 在签名栏中签名 切换回context sensitive模式录制,建立图像检查点 【insert】-【bitmap checkpoint】-【for Object/window】 清除签名 再建立图像检查点 关闭传真订单窗口 停止录制 存储测试脚本,打开flight4a,执行测试脚本,检查测试结果 打开flight4b,执行测试脚本,检查测试结果 对比两个版本中的测试结果,体会什么时候应该使用位图检查点,以及位图检查点能帮助我们完成什么功能。,4 使用TSL撰写测试脚本,如何在录制好的测试脚本中以可视化的方式加入函数 如何在测试脚本中手动加入脚本代码 如何除错,4.1 以可视化方式加入函数,当你在录制测试脚本时,你对应用程序的所有操作,不管是点选按钮或是键盘输入,WinRunner会产生一行一行的测试脚本,这每一行的测试脚本称为TSL(Test Script Language) WinRunner提供可视化工具“函数产生器(Funcation Generator)”,帮助在测试脚本中快速插入函数,函数产生器(Function Generator)的两种使用方式: 直接点选GUI对象,让WinRunner为你建议合适的函数,然后再把函数加入测试脚本中 直接从函数清单中挑选需要使用的函数 除了使用和函数外,TSL也提供一般程序语言具备的元素,如条件判断,循环,表达式等。,取得某个字段的值 函数产生器开启并建议使用edit_get_text函数。 按下【Paste】按钮将函数插入测试脚本中,选取【Insert】-【Function】-【For Object/Window】或是按下工具栏上的 按钮,对象名,变量名,4.2 在测试脚本中手动加入代码,在需要加入代码的地方插入空白行 加入如下脚本 加上批注 选取【Edit】-【Comment】 直接在代码中以#开始作为批注,if (tickets*price = total) tl_step(“total”,0,”Total is correct.”); else tl_step(“total”,1,”Total is incorrect.”);,动作名称,0:通过 1:失败,在WR中对此动作的显示信息,4.3 测试脚本除错,WinRunner提供了除错的工具。通过工具可以执行: 逐行执行测试脚本 设定断点 以watch list检查变量的值 选择以 模式执行测试脚本 测试结果存储在debug目录中 每次以 模式执行测试后,WinRunner会覆写上次的debug执行结果,实验八,录制测试脚本 开启订单 传真订单 选择【Cancel】关闭传真订单窗口 使用函数产生器在测试脚本中插入函数 依次获取订单窗口上的【#Tickets】,【Ticket Price】,【Total】字段的值 在测试脚本中加入判断式 对测试脚本除错 在Flight4B中执行测试脚本,5 建立数据驱动测试脚本,如何使用数据驱动精灵建立数据驱动测试脚本 学习使用regular expression作为对象名称 如何让测试脚本重复执行,5.1 建立数据驱动测试脚本,当你建立好测试脚本后,可能会想用多组不同的数据去执行测试脚本。为达到此目的,可以将测试脚本转换为数据驱动测试脚本,并建立一个数据表提供测试所需的多组数据。 加上开启及关闭数据表的指令 加上循环并读取数据表的每一笔数据 将录制的固定值与检查点的值参数化为数据表的字段值,使用数据驱动精灵(Data Driver Wizard) 手动修改测试脚本,数据驱动精灵的使用,选取【Table】-【Data Driver Wizard】 建立数据表,输入数据表的名称,输入该数据表在脚本中的变量名,设定参数化选项 【Add statements to create a data-driven test】表示由数据驱动精灵自动将转成数据驱动测试脚本的指令加到测试脚本中,预设是勾选的。 【Import data from a database】从数据库中导入数据,预设未勾选。 【Parameterize the test】表示要做参数化,预设是勾选的 【Line by line】WR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 盘龙区模拟中考数学试卷
- 青海招教小学数学试卷
- 学生创意手工活动方案策划(3篇)
- 手工制造活动方案策划(3篇)
- 佛山凉亭施工方案(3篇)
- phc桩基施工方案(3篇)
- 锅炉证考试题库及答案
- 微课参赛课件制作教学
- 安徽省马鞍山市和县2023-2024学年高三下学期高考第三次模拟考试数学题目及答案
- 2025年一季度我国电子商务发展情况
- 2025至2030中国航空发动机行业发展动态及投资趋势研究报告
- 国旗法课件教学课件
- 食管内镜支架植入护理配合
- 老年人防诈骗课件
- 《煤矿重大事故隐患判定标准》
- 2025巴中市国企招聘考试题目及答案
- GB/T 45411.1-2025光学和光子学瞄准望远镜规范第1部分:普通性能仪器
- 外销出口流程培训
- 房屋建筑工程竣工验收技术资料统一用表(2024 版)
- 《企业研发费用税前加计扣除政策解读与应用课件》
- 寿险公司IT系统架构
评论
0/150
提交评论