




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WinRunner测试系统工具的运用 1WinRunner介绍2使用WinRunner3设定GUIMap4编辑GUIMap5学习虚拟对象6创建测试7同步点 Synchronize 8检查点 Checkpoint 启明星辰学习交流文档 理论环节认识WinRunner系统的主要功能及适用范围认识WinRunner系统进行软件测试的基本思想与策略学习WinRunner系统进行软件测试的主要任务和过程掌握运用WinRunner系统工具的应用配置掌握运用WinRunner系统实现功能测试实践环节认识并掌握WinRunner系统的配置使用认识并掌握WinRunner系统进行软件测试的实践 1WinRunner介绍 WinRunner 简称WR 是一种基于MSWindows的功能测试工具 WR可以帮助用户自动处理从测试开发到测试执行的整个过程 可以创建可修改和可复用的测试脚本 而不用担心软件功能模块的变更 使用WinRunner进行自动化测试的好处 快速 Fast 可靠 Reliable 可重复 Repeatable 可程序化 Programmable 广泛的 Comprehensive 可再使用 Reusable 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的测试过程 WinRunner的测试流程分为以下六个阶段 创建GUIMap 识别应用程序的GUI对象创建测试 建立测试脚本调试测试 对测试脚本除错 debug 执行测试 在新版应用程序执行测试脚本查看测试结果报告发现的错误 样本软件和测试套件 WinRunner7 6中附带了一个用于航班预定的样本软件FlightReservation 该样本软件有两个版本Flight4A和Flight4B 其中Flight4A版本是正常的软件 Flight4B版本中则有意识加入了一些错误 样本软件的登录 可以使用任意用户名 长度至少为4 登录FlightReservation软件 密码为Mercury WinRunner和测试套件的其他工具一起提供整个测试流程的解决方案 测试计划 测试开发 GUI负载测试 错误跟踪以及多用户系统客户端负载测试 常用测试套件有 TestDirector 测试管理工具 LoadRunner 用于Client Server结构软件的测试工具 2使用WinRunner 启动WinRunnerWinRunner主窗口测试窗口加载WinRunner插件 3设定GUIMap WinRunner如何识别应用程序中的GUI对象使用GUISpy查看GUI对象的属性选择GUIMap的工作模式使用RapidTestScriptWizard学习对象并产生测试脚本 WR如何识别GUI对象 关于识别GUI对象一般的Windows应用程序 通常是由窗口 按钮 菜单等组成 这些在WinRunner中通称为GUI对象 WR会通过学习这些GUI对象的属性来识别GUI对象 WR把学来的这些GUI对象的属性保存在GUIMap文件中 GUIMap是一个或多个GUIMap文件的总和 当执行测试时 WR使用GUIMap定位对象 先从GUImap读取有关对象的描述 然后寻找有相同属性的对象 WR如何识别GUI对象 续 脚本中如何识别GUI对象在测试脚本中 WR使用逻辑名 Logicname 定义对象 如 Print 定义Printdialogbox OK 定义OKbutton 对象的逻辑名由它的类 Class 决定 多数情况下 逻辑名是对象的卷标 Label 逻辑名实际上是对象物理描述 物理描述是包含一个对象物理属性的清单 的简称 逻辑名和物理描述一起作用 确保每个GUI对象有自身唯一的标识 WR如何识别GUI对象 续 物理描述WR使用物理描述识别被测软件的GUI对象 物理描述包括 物理属性清单和每个属性的值 GUImap按以下格式记录这些属性和值的配对 属性1 值1 属性2 值2 属性3 值3 例如 对 Open window的描述包含两个属性 Class和Label 其中Class属性的值是 window Label属性的值是 Open 该对象的物理描述为 class window label Open WR如何识别GUI对象 续 设定窗体环境WR总是在对象出现的窗体的环境中学到该对象的物理描述 当用户录制脚本时 一旦当前窗体改变并且有GUI对象被操作 WR会自动在测试脚本中插入一条set window语句 之后所有的对象就在那个窗体环境中被识别 例如 Set window Print 12 Button press OK 如果用户手工编写脚本 则需要用户写入set window语句以对应当前窗体的变化 操作演示 查看GUI对象的属性WR提供一个叫GUISpy的工具 可以用来查看某个GUI对象有哪些属性以及WR是以哪些属性来识别此GUI对象 注意 WR只会用最少但可以组合成唯一的一组属性来识别GUI对象 查看GUIMap的内容可以通过GUIMapEditor工具来查看GUIMap的内容 可以看到 GUIMap文件包含了GUI对象的逻辑名和物理描述 GUIMap的两种工作模式 当WR识别完GUI对象后 会将GUI对象的逻辑名和物理描述存储在GUIMapFile中 WR提供两种GUIMap的工作模式 GUIMapFilePerTest和GlobalGUIMapFile 因此 用户在创建测试前应先确定要使用哪种GUIMap模式 GUIMapFilePerTest 每次新建测试就自动创建一个GUIMapFile WR会在用户保存测试 打开测试时 自动保存和自动加载GUIMapFile GlobalGUIMapFile 多个测试脚本共享同一个GUIMapFile 用户要手工保存和加载使用的GUIMapFile 这是WR的默认模式 两种模式的比较 操作演示 设定要使用的GUIMapFile模式WR默认值是使用GlobalGUIMapFile 要设定GUIMap的工作模式 点选Tools GeneralOptions General 设定你要的模式 重新设定GUIMapFile模式后 必须重新启动WR才能让设定生效 注意 从GUIMapFileperTest模式转换到GlobalGUIMapFile模式 用户必须把和每个测试对应的GUImap文件合并成被一组测试使用的共享文件 用户可通过GUIMapFileMergeTool进行合并 GlobalGUIMapFile模式的使用 关于GlobalGUIMapFile模式WR最有效率的用法是把测试分组 一组中的测试 任务 都测试同一窗体上的GUI对象 这样这些任务就可以共享GUIMapfile 当GUI发生变化 只需要修改一个GUIMapfile 就可以让同组中的任务都正常工作 使用这种模式 最好是使用RapidTestScriptWizard在录制脚本前让WR一次性的学习被测软件中所有的GUI对象 如果GUI发生变化 再用GUIMapEditor来单独学习发生变化的窗体或对象 并以此更新GUIMap GlobalGUIMapFile模式的使用 续 让WinRunner学习GUI在GlobalGUIMapFile模式 WR可以通过以下三种方式学习被测软件的GUI 1 使用RapidTestScriptWizard学习被测软件每个窗体中所有GUI对象的属性 2 使用GUIMapEditor学习单个GUI对象 窗体或某个窗体中所有GUI对象的属性 如果软件开发过程中GUI改变了 用户可以使用这种方式更新GUIMap 3 通过录制脚本的方式学习被测软件中被录制 被操作 的那部分的所有GUI对象的属性 操作演示 使用RapidTestScriptWizard学习GUI在录制脚本前使用RapidTestScriptwizard一次性学习被测软件所有的GUI对象 将生成并保存GUImap文件 以后在脚本开头部分使用GUI load语句就可以加载这个GUImap文件 要使用RapidTestScriptwizard 该向导只能在GlobalGUIMapFile模式下使用 点选Insert RapidTestScriptwizard 将打开该向导的欢迎窗口 操作演示 使用GUIMapEditor学习GUI点选Tools GUIMapEditor 打开GUIMap编辑器 点击learn按钮 想要学习一个窗体中所有的对象 就点击窗体的标题栏 当提示是否学习窗体中所有对象时 点击Yes 如果只想学习窗体 就点击窗体的标题栏 出现提示时点击No 如果只要学习个别对象 就左键点击这个对象 点击鼠标右键取消 WR把学到的信息放在当前GUImap文件中 GlobalGUIMapFile模式的使用 续 保存GUIMap当用户用录制的方式学习GUI对象时 对象的描述就被添加到临时GUIMap文件中 用户启动WR时 包含前一次测试内容的临时文件就被加载 要避免在新的测试中把有价值的GUI信息覆盖掉 用户必须把临时GUIMap文件保存在一个永久的GUIMap文件中 操作演示 使用GUIMapEditor保存GUIMap GlobalGUIMapFile模式的使用 续 加载GUIMap文件WR把对象的信息保存在一个GUIMap文件中 当用户需要用GUIMap文件来寻找对象时 用户必须将文件加载到GUIMap中 而且必须在测试开始前加载合适的GUIMap文件 在WR中有两种方法可以加载GUIMap文件 1 使用GUI load功能加载GUIMap文件 2 使用GUIMapEditor加载GUIMap文件注意 如果用户用GUIMapFileperTest模式 则不能手工加载或卸除GUImap文件 操作演示 使用GUI load功能加载GUIMap文件GUI load语句可以加载任何用户需要的GUIMap文件 但用户只能一次加载一个GUIMap文件 用户可以把GUI load语句插到任何测试脚本的开头 但最好放到第一个执行的测试的开头 使用GUIMapEditor加载GUIMap文件用户可以在GUIMapEditor中加载GUIMap文件或者查看被加载的GUImap文件 这类文件会在文件名前出现一个 L GUIMapFilePerTest模式的使用 关于GUIMapFilePerTest模式使用GUIMapFileperTest模式 用户不需要教WR去学习被测软件的GUI 也不需要保存或加载GUIMap文件 在这种模式下 WR会自动处理所有与GUIMapFile有关的动作 在用户创建新测试时自动创建一个新的GUIMap文件 在用户保存测试时自动保存GUIMap文件 在用户打开测试时自动加载GUIMap文件 注意 某些功能在这种模式下会被禁用 GUIMapFilePerTest模式的使用 续 在GUIMapFilePerTest模式下工作在这种模式下 WR通过录制脚本的方式学习被测软件的GUI 如果GUI发生变化 用户可以用GUIMapEditor更新每个测试的GUIMap 用户无须加载或保存GUIMap文件 注意 如果用户改变了对象的逻辑名 则必须更新脚本 GUIMapFilePerTest模式要点不要在GUIMapEditor里保存用户对GUIMap文件的修改 不要手工加载或卸除GUIMap文件 4编辑GUIMap WR使用GUIMap来标识和查找GUI对象 一旦被测软件的GUI改变了 用户就必须更新GUIMap中对象的描述 用户有两种更新GUIMap的方法 在测试运行中使用Runwizard 测试中如果WR无法定位对象时 就会自动打开Runwizard 它会指导用户识别对象并把对象的描述更新到GUIMap里 用GUIMapEditor手工编辑GUIMap 在用户更新GUIMap前 GUIMap必须先被加载 RunWizard Runwizard 运行指南 可以在测试运行中检测被测软件GUI的变化 当WR无法定位对象时 它会被自动打开 Runwizard会提示用户指向对象 确定该对象没有被发现的原因 然后提供解决方案 多数情况下 它会自动给GUIMap添加新的描述或修改已有描述 当这个过程结束 测试将继续 下次执行测试时 WR就会找到这个对象了 GUIMapEditor GUIMapEditor提供了两种模式来查看GUIMap的内容 GUIMap 可以让用户看到整个GUIMap中所有的窗体和对象 GUIFiles 提供一个GUIFile的文件清单 用户可以方便的查看单个GUIMap文件的内容 在GUIMapEditor的 view 菜单中提供了这两种查看模式的转换 修改逻辑名和物理描述 在GUIMapEditor中用户可以修改对象的逻辑名或物理描述 当对象被赋予的逻辑名太长或含义不清晰时 就需要修改逻辑名使脚本容易阅读 当对象属性值变化时 就需要修改物理描述 操作演示 在GUIMapEditor中修改对象的逻辑名和物理描述 在文件间复制和移动对象 用户可以用从一个GUImap文件复制或移动GUI对象到另一个GUImap文件的方式更新GUImap文件 注意 用户只能从一个被打开但是未被加载的GUImap文件中复制对象 如果用户使用GUIMapFileperTest模式 就不可以手工打开或在文件之间复制或移动对象 操作演示 在GUIMap文件间复制和移动对象 操作演示 在GUIMapFile里找到对象在多个GUIMapFile里找到对象在GUIMapFile里手工添加对象从GUIMapFile里删除对象清除GUIMapFile筛选显示对象保存GUI的变更 5学习虚拟对象 被测软件中可能包含位图 WR录制对这些位图的操作时使用win mouse click语句 通过把位图定义成虚拟对象 virtualobject 用户可以让WR像对待GUI对象那样处理它们 依据位图在被测软件中的行为表现 用户可以创建虚拟pushbuttons radiobuttons checkbuttons lists或tables 如果这些类型都不适合 用户可以创建一个属于综合类的虚拟对象 操作演示 使用VirtualObjectWizard定义虚拟对象 6创建测试 用户可以用录制或编程的方式创建测试 通常是结合以上两种方式创建测试脚本 首先录制一个基础测试脚本 用户对被测软件进行操作 TSL语言记录下这些操作 随后用户可以在录制的测试脚本中修改 添加功能等 创建测试脚本的主要步骤 1 决定用户想要测试的功能点 确定用户想在脚本中使用的检查点和同步点 2 在测试属性对话框里把测试相关的信息文档化 3 选择录制模式 并录制 4 给测试分配一个名字并保存 关于检查点 检查点可以让用户比较软件当前版本和以前版本的区别 录制测试时 在用户需要检查软件反应的地方插入检查点 插入检查点后 WR会收集一套性能指标 在测试运行时对其一一验证 在脚本中可以插入四类检查点 GUI检查点检验GUI对象信息 位图检查点做一个窗体或区域的截图 并把这张图片和以前版本进行比较 文本检查点读取GUI对象和位图中的文本 使用户可以检验文本内容 数据库检查点检查一定数量的行和列组成的集合 这个集合由用户在数据库中创建 的内容 关于同步点 同步点用来处理测试运行中可能发生的时间控制和窗体位置等问题 当WR执行到同步点时 会暂停执行以等待应用程序某些状态的改变后 再继续执行脚本 何时应该使用同步点 执行测试时 所测试的应用程序每次操作的响应时间并不一定 导致执行输入动作的时间也需要等待 例如 从数据库取得数据 等待一个窗口开启 等待某个状态讯息出现等动作可能会时快时慢 如果应用程序响应时间超过WR设置的等待时间 则测试执行就可能会失败 关于数据驱动测试 如果用户想用多组数据测试相同的操作步骤 用户可以创建数据驱动测试 测试会循环执行指定的次数 每次执行都由不同的数据驱动 为了使WR可以使用这些数据 用户必须在测试脚本中建立和数据的联系 这就叫测试参数化 测试所需的多组数据会被存储在一个数据表中 具体操作时 用户可以手动修改测试脚本或者用DataDriverWizard来参数化测试以及把数据储存到表格中 计划一个测试 确认将要测试的功能点 最好设计简短 测试单一功能点的测试 尽量不要设计繁长 一次涉及多个功能点的测试 决定要在测试中使用的检查点和同步点 如果计划使用录制的方式 就要决定哪个部分用Analog模式 哪个部分用ContextSensitive模式 决定在脚本中添加哪些代码 如循环 数组或自定义功能 测试信息文档化 创建测试前 用户可以把测试相关信息写在测试属性 TestProperties 对话框的综合和描述栏里 用户可以输入测试创建者的名字 测试类型 对于测试的详细描述和功能描述文档 用户还可以通过测试属性对话框来确定测试中使用的插件 给测试分配一个数据表 定义测试变量 把测试作为一个编译过的模块等 操作演示 使用TestProperties对话框来文档化测试信息 录制测试脚本 选择录制模式WR允许用户以录制的方式快速建立自动测试脚本 WR会将使用这的动作录制下来 并以TSL产生测试脚本 并显示在WR主窗口中 WR提供两种录制模式 ContextSensitive 主要以GUI对象为基础 WR会识别使用者点选的GUI对象以及执行的操作 Analog 主要录制鼠标移动的轨迹 鼠标的点选以及键盘的输入三种动作 录制测试脚本 续 选择录制模式的参考原则 以ContextSensitive模式录制 应用程序包含一般GUI对象 不需要录制鼠标移动的轨迹 打算将测试脚本运用在同一应用程序不同版本上 以Analog模式录制 应用程序包含绘图区域 需要录制鼠标移动的轨迹 如绘图软件 如果被测程序既包含一般GUI对象 也包含绘图区域 则要混合使用两种录制模式 录制测试脚本 续 操作演示 录制ContextSensitive模式的测试脚本1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 开启3号订单5 停止录制6 储存测试脚本为lesson3 录制测试脚本 续 操作演示 录制Analog模式的测试脚本1 打开lesson3测试脚本 将光标移到最后一行2 开始以ContextSensitive模式录制测试脚本3 打开传真订单窗口 输入FaxNumber 41555512344 勾选 SendSignaturewithorder 5 在ContextSensitive模式下录制签名动作6 清除签名7 将FaxOrder窗口移动到其它位置 录制测试脚本 续 操作演示 录制Analog模式的测试脚本 续 8 使用F2切换到Analog模式下录制签名动作9 再按F2切换回ContextSensitive模式 并将订单传真出去10 停止录制11 保存测试脚本lesson312 保存更新后的GUIMapFile到flight4a gui操作演示 执行测试脚本lesson3 并分析测试结果 7同步点 操作演示 在FlightReservation中建立一张新的订单 并新增到数据库中变更预设等待时间的设定如何识别何种问题需要以同步点解决加入同步点执行测试脚本并检视结果 操作演示 录制测试脚本1 启动WR 并加载GUIMapFile flight4a gui 2 启动Flight4A 并登录3 开始以ContextSensitive模式录制测试脚本4 建立新的订单5 填入航班与旅客资料6 点选 InsertOrder 将订单新增到数据库中7 点选 DeleteOrder 删除刚才新增的订单8 停止录制 并保存测试脚本为lesson4 操作演示 变更预设等待时间的设定1 点选Tools GeneralOptions 2 选取Run Settings3 将10000ms
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽师范大学出版社招聘4人考前自测高频考点模拟试题及参考答案详解一套
- 2025年甘肃交通职业技术学院招聘工作人员模拟试卷含答案详解
- 2025江西吉水县某行政单位招聘4人模拟试卷及答案详解(考点梳理)
- 2025江苏南通市公安局招聘警务辅助人员66人考前自测高频考点模拟试题及一套答案详解
- 2025届春季中核集团校园招聘正式启动考前自测高频考点模拟试题及答案详解(典优)
- 2025年洛阳古墓博物馆人才引进招录专业技术人员2名模拟试卷及完整答案详解1套
- 2025年延安通和电业有限责任公司招聘(5人)模拟试卷及答案详解(易错题)
- 2025湖南湘西州泸溪县妇幼保健计划生育服务中心招聘高校见习生5人模拟试卷及完整答案详解一套
- 2025年陕西师范大学校医院招聘(2人)考前自测高频考点模拟试题及1套参考答案详解
- 2025年滁州职业技术学院引进急需紧缺高层次人才25人模拟试卷及答案详解(易错题)
- 2025四川成都高新投资集团有限公司选聘中高层管理人员4人笔试参考题库附答案解析
- 水利工程水利工程施工技术规范
- 从安全感缺失剖析《榆树下的欲望》中爱碧的悲剧根源与启示
- 2025中证金融研究院招聘11人考试参考题库及答案解析
- 人教版(2024)八年级上册英语Unit 2 Home Sweet Home教案
- 城镇住宅建设调查技术实施方案
- 渔民安全培训课件
- 时空数据建模与预测算法-洞察阐释
- 汽车电路原理培训课件
- 2025年长江引航中心招聘笔试备考题库(带答案详解)
- 压力性损伤的个案护理
评论
0/150
提交评论