winrunner的使用
《winrunner的使用》由会员分享,可在线阅读,更多相关《winrunner的使用(65页珍藏版)》请在装配图网上搜索。
1、WinRunner测试工具的运用创建GUI map创建测试脚本同步点和检查点使用TSL撰写测试脚本建立数据驱动测试脚本建立批次测试 WinRunner介绍 WinRunner(简称WR)是一种基于MS Windows的功能测试工具。WR可以帮助用户自动处理从测试开发到测试执行的整个过程,可以创建可修改和可复用的测试脚本,而不用担心软件功能模块的变更。样本软件和测试套件 WinRunner 7.6 中附带了一个用于航班预定的样本软件Flight Reservation。该样本软件有两个版本Flight4A 和Flight4B,其中 Flight4A 版本是正常的软件,Flight4B 版本中则有
2、意识加入了一些错误。样本软件的登录:可以使用任意用户名(长度至少为4)登录Flight Reservation软件,密码为Mercury。WinRunner和测试套件的其他工具一起提供整个测试流程的解决方案:测试计划、测试开发、GUI负载测试、错误跟踪以及多用户系统客户端负载测试。常用测试套件有:TestDirector(测试管理工具)LoadRunner(用于Client/Server结构软件的测试工具)使用WinRunner进行自动化测试的好处WinRunner的测试模式 以WinRunner执行测试,就与人工测试一样,WinRunner 会仿真鼠标的动作与键盘的输入。当在软件操作中点击G
3、UI(图形用户界面)对象时,WR会使用一种类C的测试脚本语言(TSL)生成一个测试脚本。测试人员可以用手工编程的方法编辑这个脚本。WinRunner包括的功能生成器(Function Generator)可以帮助用户快速简便的在已录制的测试中添加功能。WinRunner有两种录制测试的模式:(1)环境判断模式(Context Sensitive Mode)(2)模拟模式(Analog Mode)环境判断模式 环境判断模式根据用户选取的GUI对象将用户对软件的操作动作录制下来,并忽略这些对象在屏幕上的物理位置。每一次对被测软件进行操作,测试脚本会描述用户选取的对象和操作动作。当进行录制时间,WR
4、会对选取的每个对象做唯一描述并写入GUI map(映射)中。GUI map和测试脚本被分开保存和维护。当软件用户界面发生变化时,用户只需更新GUI map。这样一来,环境判断模式的测试脚本将非常容易地被重复使用。执行测试时只需要回放测试脚本。回放测试脚本的过程,就是WR模拟一个用户使用鼠标选取对象、用键盘输入数据的操作过程。WR从GUI map中读取对象描述,并在被测软件中查找符合这些描述的对象。模拟模式 模拟模式记录鼠标点击、键盘输入和鼠标在二维平面上(x轴、y轴)的精确运动轨迹。执行测试时,WR让鼠标根据轨迹运动。模拟模式对于那些需要追踪鼠标运动的测试非常有用,例如画图软件。WinRunn
5、er 的测试流程 创建GUI map 建立测试脚本 对测试脚本除错(debug)在新版应用程序执行测试脚本 检视测试结果 回报缺陷(defect)1 创建GUI map 了解WinRunner是如何识别GUI对象的 掌握如何使用GUI spy查看GUI对象的属性 掌握两种GUI map模式1.1 WR如何识别GUI对象 一般的Windows应用程序,通常是由窗口、按钮、菜单等组成,这些在WinRunner中通称为。WR会通过学习这些GUI对象的属性来识别GUI对象。WR把学来的这些GUI对象的属性保存在GUI Map文件中(GUI Map是一个或多个GUI Map文件的总和)。当执行测试时,W
6、R使用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)
7、定义对象:如“Print”定义Print dialog box,“OK”定义OK button。对象的逻辑名由它的类(Class)决定。多数情况下,逻辑名是对象的卷标(Label)。逻辑名实际上是对象物理描述(物理描述是 包含一个对象物理属性的清单)的简称。逻辑名和物理描述一起作用,确保每个GUI对象有自身唯一的标识。1.2 如何学习GUI对象的属性 WR提供一个叫的工具,可以用来学习单个GUI对象的属性,也可用于查看某个GUI对象有哪些属性以及WR是以哪些属性来识别此GUI对象。使用在录制脚本前让WR一次性的学习被测软件中所有的GUI对象。如果GUI发生变化,再用GUI Map Editor
8、来单独学习发生变化的窗体或对象,并以此更新GUI Map。1.3 GUI Map的两种工作模式 当WR识别完GUI对象后,会将GUI对象的逻辑名和物理描述存储在GUI Map File中。WR提供两种GUI Map的工作模式:和。因此,用户在创建测试前应先确定要使用哪种GUI Map模式。:每次新建测试就自动创建一个GUI Map File。WR会在用户保存测试、打开测试时,自动保存和自动加载GUI Map File。:多个测试脚本共享同一个GUI Map File,用户要手工保存和加载使用的GUI Map File。操作演示 两种模式的切换 两种模式下GUI map的生成两种模式的比较GUI
9、 Map TestGlobal GUI Map File优点1.每个测试都有自带的GUI Map File2.使用方便,保存和加载GUI Map File都是自动完成3.作为单次测试,容易维护和更新(就是重新录一次)1.如果对象或窗体的属性改变,只需要修改在GUI Map File里对应的属性2.容易维护和更新(无需重新录制)缺点一旦软件GUI变更,每个测试的GUI Map File都要重新录制要记住保存和加载使用的GUI Map File建议如果用户对WR没有经验或被测软件的GUI已经固定,可以采用这种模式。如果用户是有经验的WR使用者或被测软件的GUI经常变化,最好使用这种模式。2 创建测
10、试脚本 掌握两种录制模式:Context Sensitive和Analog 了解如何阅读测试脚本内容 执行测试脚本并分析其结果2.1 WR的两种录制模式 环境判断模式(Context Sensitive Mode)环境判断模式是以GUI对象为基础的。以按下登录界面中“OK”按钮为例:测试脚本中会显示为:在执行时,WR会找寻“OK”按钮,并按下它。Button_press(“OK”);模拟模式(Analog Mode)执行测试时,WR让鼠标根据轨迹运动。同样以按下登录界面中“OK”按钮为例:执行测试时会通过控制鼠标的移动完成测试。Move_locator_track(1);鼠标移动Mtype(“
11、-”);按下鼠标左键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文件
12、实验三 录制测试脚本 以context sensitive模式录制 在Flight Reservation中新增一笔订单 在“open order”窗口打开新增的订单 选择“fax order”输入fax number 勾选send Signature with order 在签名栏中签名 清除签名 切换为Analog模式继续录制 在清空后的签名栏中签名 切换回context sensitive模式 选择发送目的:比较两种录制模式的区别,熟练使用两种模式录制脚本实验四 执行测试 关闭flight4a,打开flight4b 选择“run from top”检查测试结果 Winrunner中有三种
13、执行模式可供选择:verify::此模式下能执行测试以检查应用程序的功能,且能存储测试结果 Debug:此模式下能检查测试脚本执行是否正确,并对脚本进行调试 Update:此模式下允许更新检查点的预期值3 同步点和检查点 同步点 GUI对象检查点 图像检查点 文字检查点3.1 同步点 执行测试时,被测程序每次操作的响应时间不一定,时快时慢,导致执行输入动作的时间也需要等待。如 从数据库取得数据 等待窗口开启 等待状态列成为100%增加WinRunner的预设等待时间 在测试脚本中插入 同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题。当WR执行到同步点时,会暂停执行以等待应用程序某些
14、状态的改变后,再继续执行脚本。3.2 GUI检查点 检查点可以让用户比较软件当前版本和以前版本的区别。录制测试时,在用户需要检查软件反应的地方插入检查点;插入检查点后,WR会收集一套性能指标,在测试运行时对其一一验证。Winrunner中通过建立GUI检查点,检查GUI对象的属性,并以此判定该对象的功能是否正常。插入GUI检查点 检查单个属性的值:点选Insert-GUI Checkpoint-For Single Property 检查单个对象:点选Insert-GUI Checkpoint-For Object/Window 检查一个窗体中的多个对象:点选Insert-GUI Checkp
15、oint-For Multiple Objects 插入检查点后,脚本中将加入obj_check_gui 语句或win_check_gui语句。3.3 位图检查点 位图检查点是做一个窗体或区域的截图,并把这张图片和以前的版本进行比较,检查是否存在差异。Winrunner提供三种方式建立图像检查点:屏幕区域:以鼠标拖拉方式决定图像检查点的区域 窗口:以整个窗口作为图像检查点的区域 GUI物件:以整个GUI对象作为图像检查点的区域3.4 文本检查点 文本检查点读取GUI对象和位图中的文本,使你可以检验文本内容。3.5 数据库检查点 数据库检查点检查一定数量的行和列组成的集合(这个集合由你在数据库中
16、创建)的内容。实验五 同步点 在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 变
17、更预设等待时间的设定 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 O
18、bject/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.”che
19、ck box插入另一个检查点 8、对“Customer Name”check box插入检查点 9、点选“OK”打开订单10、停止录制,并保存测试脚本 打开flight4a执行测试 检视测试结果 用鼠标双击“end GUI checkpoint”检查是否通过;若未通过是哪个属性不符合 打开flight4b执行测试并检视测试结果 对比两个版本中的测试结果,体会什么时候应该使用GUI检查点,以及GUI检查点能帮助我们完成什么功能。实验七 位图检查点 录制测试脚本 以context sensitive模式录制 输入fax number 勾选send Signature with order 切换为a
20、nalog模式录制 在签名栏中签名 切换回context sensitive模式录制 建立图像检查点【insert】-【bitmap checkpoint】-【for Object/window】清除签名 再建立图像检查点 关闭 订单窗口 停止录制 存储测试脚本 打开flight4a,执行测试脚本,检查测试结果 打开flight4b,执行测试脚本,检查测试结果 对比两个版本中的测试结果,体会什么时候应该使用位图检查点,以及位图检查点能帮助我们完成什么功能。4 使用TSL撰写测试脚本 如何在录制好的测试脚本中以可视化的方式加入函数 如何在测试脚本中手动加入脚本代码 如何除错4.1 以可视化方式加
21、入函数 当你在录制测试脚本时,你对应用程序的所有操作,不管是点选按钮或是键盘输入,WinRunner会产生一行一行的测试脚本,这每一行的测试脚本称为TSL(Test Script Language)WinRunner提供可视化工具“函数产生器(Funcation Generator)”,帮助在测试脚本中快速插入函数 函数产生器(Function Generator)的两种使用方式:直接点选GUI对象,让WinRunner为你建议合适的函数,然后再把函数加入测试脚本中 直接从函数清单中挑选需要使用的函数 除了使用和函数外,TSL也提供一般程序语言具备的元素,如条件判断,循环,表达式等。取得某个字
22、段的值 函数产生器开启并建议使用edit_get_text函数。按下【Paste】按钮将函数插入测试脚本中选取【Insert】-【Function】-【For Object/Window】或是按下工具栏上的 按钮对象名对象名变量名变量名4.2 在测试脚本中手动加入代码 在需要加入代码的地方插入空白行 加入如下脚本 加上批注 选取【Edit】-【Comment】直接在代码中以 开始作为批注动作名称动作名称0:通过:通过1:失败:失败在在WR中对此动中对此动作的显示信息作的显示信息4.3 测试脚本除错 WinRunner提供了除错的工具。通过工具可以执行:逐行执行测试脚本 设定断点 以watch
23、list检查变量的值 选择以 模式执行测试脚本 测试结果存储在debug目录中 每次以 模式执行测试后,WinRunner会覆写上次的debug执行结果实验八 录制测试脚本 开启订单 订单 选择【Cancel】关闭 订单窗口 使用函数产生器在测试脚本中插入函数 依次获取订单窗口上的【#Tickets】,【Ticket Price】,【Total】字段的值 在测试脚本中加入判断式 对测试脚本除错 在Flight4B中执行测试脚本5 建立数据驱动测试脚本 如何使用数据驱动精灵建立数据驱动测试脚本 学习使用regular expression作为对象名称 如何让测试脚本重复执行5.1 建立数据驱动测
24、试脚本 当你建立好测试脚本后,可能会想用多组用多组不同的数据去执行测试脚本不同的数据去执行测试脚本。为达到此目的,可以将测试脚本转换为数据驱动测试数据驱动测试脚本脚本,并建立一个数据表提供测试所需的多组数据。加上开启及关闭数据表的指令 加上循环并读取数据表的每一笔数据 将录制的固定值与检查点的值参数化为数据表的字段值 使用数据驱动精灵(Data Driver Wizard)手动修改测试脚本数据驱动精灵的使用 选取【Table】-【Data Driver Wizard】建立数据表输入数据输入数据表的名称表的名称输入该数据输入该数据表在脚本中表在脚本中的变量名的变量名 设定参数化选项【Add st
25、atements to create a data-driven test】表示由数据驱动精灵自动将转成数据驱动测试脚本的指令加到测试脚本中,预设是勾选的。【Import data from a database】从数据库中导入数据,预设未勾选。【Parameterize the test】表示要做参数化,预设是勾选的【Line by line】WR会显示可以做参数化的脚本,并让你决定真正要做参数化的字段,预设是勾选的。【Automatically】由WR自主决定要做参数化的字段,预设未勾选。选择要被参数化的值在数据表中在数据表中新插入一列新插入一列 将数据加入数据表中 选取【Table】-【
26、Data Table】,开启数据表 加上数据5.2 Regular Expression的使用 执行数据驱动测试脚本时,你可能发现有些控件的label是随着窗口的变化而变化的,执行过程中会由于找不到相应的控件label而报错。这时你需要通过regular expression来解决。所谓regular expression就是利用某些通配符来表示特定的字符。实验九 打开实验八的测试脚本 执行数据驱动精灵 建立数据表 加入数据 以Regular Expression调整测试脚本 用debug模式执行测试脚本 通过后打开flight4B,用verify模式执行6 建立批次测试 说明如何使用批次测试执行一整组的测试脚本 说明如何建立批次测试 执行批次测试并检视结果6 批次测试 当应用程序刚刚变更,为了获得新版程序中可能存在的问题,我们需要一次执行所有测试脚本,这时需要用到批次批次(batch)测试测试的概念。批次测试通过call命令来开启其它测试脚本 在执行批次测试之前,选择【Tools】-【General Options】,点选Run后勾选Run in batch mode选项。(此选项会让WinRunner不再跳出讯息对话窗口而中断测试的执行)
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。