Winrunner的使用.ppt_第1页
Winrunner的使用.ppt_第2页
Winrunner的使用.ppt_第3页
Winrunner的使用.ppt_第4页
Winrunner的使用.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

孙旭光E MAIL sunxuguang Winrunner的使用 1 Winrunner如何识别GUI对象 一般的windows应用程序 通常是由窗口 按钮 list 菜单等所组成 在Winrunner中 这些窗口 按钮等通称为GUI对象 Winrunner会透过这些GUI对象的属性 如class label width height handle与enabled等 来识别GUI对象 Winrunner只会记录最少但可组合成唯一的属性来辨识GUI对象 用Tools GUISpy查看对象的属性在GUISpy窗口中 Recorded页签是显示Winrunner用来标识该对象的属性 在AllStandard页签是显示该对象的所有属性 可以看出 Winrunner只用最少的属性来识别GUI对象 2 GUIMap模式 Winrunner识别完GUI对象后 会将GUI对象存储在GUIMapFile 在Winrunner中 提供二种GUIMapFile模式 GUIMapFileperTest与GlobalGUIMapFile 在GUIMapFileperTest模式 当你新建立一个测试脚本 testscript Winrunner就会自动帮你建立此测试教本的GUIMapFile 当你保存测试脚本时 Winrunner也会自动保存GUIMapFile 而当你开启测试脚本时 其Winrunner也会自动加载其GUIMapFile 总之所有与GUIMapFile有关的动作 都由Winrunner自动会帮你处理了 在GlobalGUIMapFile模式 你可以多个测试脚本共享一个GUIMapFile 比较灵活 只是 要记得存储GUIMapFile 并且在开启测试脚本时 也要同时加载使用的GUIMapFile 默认的GUIMapFile为GlobalGUIMapFile模式 可以在Tools GeneralOptions General GUIFiles中自己设定 当修改设置后需对Winrunner重启以生效 使用Insert RapidTestScriptWizard快速对应用程序建立起GUIMapFileRapidTestScriptWizard只能在GlobalGUIMapFile模式下使用 并且当Winrunner加载TerminalEmulator WebTest Javaadd ins时 也无法使用 3 录制测试脚本 Winrunner可以以录制的方式快速建立自动测试脚本 在录制时 使用者还是与平常一样操作应用程序 而Winrunner会将使用者的动作录制下来 如按下鼠标左键 键盘的输入等 并且以TSL TestScriptLanguage 产生测试脚本 TSL会显示在Winrunner窗口中 两种录制模式 Winrunner提供两种录制模式 ContextSensitive与Analog ContextSensitive录制模式主要是以GUI对象为基础 Winrunner会识别使用者点选的GUI对象 如窗口 菜单 按钮等 以及执行的操作 如按下 移动 选取等 在Analog模式 Winrunner主要录制鼠标移动的轨迹 鼠标的点选以及键盘的输入三种动作 如果以Analog模式录制测试脚本 鼠标移动的轨迹是以屏幕的绝对位置为基准 当应用程序的位置或使用接口变动 则录制的脚本会执行失败 建议 只有在测试需要记录鼠标移动的应用程序时 如绘图软件 才使用Analog录制模式 否则以使用ContextSensitive录制模式为优先 如果需要测试的应用程序包含一般的GUI对象 也包含绘图区域 可以在录制的过程中 依需要随时切换录制模式 录制 1 开始录制 Flight登录 任意4个以上字符 密码Mercury 2 开启3号订单在FlightReservation中点选 File OpenOrder 在OpenOrder窗口中点选 OrderNo 并且输入3后按下 OK 3 停止录制4 储存测试脚本注意 WinRunner是以目录的方式而不是单一文件的方式储存测试脚本 此目录将会包含测试脚本以及测试执行的结果 了解测试脚本 当点选一个GUI对象 WinRunner会自动帮这个GUI对象取个名字 通常是以GUI对象上的文字做为名字 此名字称为在WinRunner称为logicname 这个logicname可以让你更容易的阅读测试脚本 例如当你点选 OrderNo 这个checkbox时 WinRunner产生以下的指令 而OrderNo 就是这个 OrderNo checkbox的logicname 当换到另一个窗口上操作时 WinRunner会自动在测试脚本上加上一行批注 帮助你更容易阅读测试脚本 例如当你点选FlightReservation窗口时 WinRunner会自动加上下面的注解 当你换到另一个窗口上操作时 WinRunner会自动产生一行set window指令 然后才是它操作的指令 例如当你开启OpenOrder窗口时 WinRunner会先产生下面的指令 set window OpenOrder 2 当你以键盘输入时 WinRunner会产生type obj type 或是edit type等指令 例如当你在OrderNo 中输入3时 WinRunner会产生下面的指令 edit set Edit 3 当你点选下拉式菜单时 WinRunner会产生menu select item的指令 在Insert Function FromFunctionGenerater 可以展示出所有的函数 在屏幕下方有函数的用法说明 录制Analog模式的测试脚本 1 开启刚才的测试脚本 并将光标移到最后一行 接下来将以刚才的测试脚本继续录制下去2 在FlightReservation中点选 File FaxOrder 在 FaxNumber 中输入4155551234 3 勾选 SendSignaturewithorder 4 在ContextSensitive模式下录制签名动作 以鼠标在 AgentSignature 空白区域中签名 这时请注意WinRunner如何录制你的签名动作 5 清除签名按下 ClearSignature 按钮 6 将FaxOrder窗口移动到其它位置在切换到Analog模式之前 移动一下FaxOrder窗口 7 在Analog模式下录制签名动作按下键盘上的 F2 或是再按一次工具列上的Record按钮 此时录制模式将从ContextSensitive切换到Analog模式 以鼠标在 AgentSignature 空白区域中签名 这时请注意WinRunner如何录制你的签名动作 8 切换回ContextSensitive模式并将订单传真出去按下键盘上的 F2 或是再按一次工具列上的Record按钮 此时录制模式会从Analog模式切换回ContextSensitive模式 按下 Send 按钮 FlightReservation会仿真将订单传真出去 9 停止录制 储存测试脚本10 如果在GlobalGUIMapFile模式下 记得储存新的GUI对象 执行测试脚本 WinRunner提供三种执行测试脚本的模式 Verify Debug Update Verify 当你真正执行测试以检查应用程序的功能 并且要储存测试结果 Debug 当你想检查测试脚本执行是否流畅 没有错误时 Update 当你要更新检查点的预期值时 分析测试结果 WinRunner提供二种类型的测试结果检视器 WinRunnerReport 一般GUI接口的检视器 与WinRunner之前版本的一样 UnifiedReport HTML类型的检视器 与QuickTestProfessional的测试结果检视器一样 当测试执行结束时 预设WinRunner会以WinRunnerReport检视器开启测试执行结果 同时也会产生供UnifiedReport检视用的测试结果 两种检视器之间的转换 Tools GeneralOptions Run Reportview 录制时的建议 1 录制前请先关闭不必要的应用程序或窗口2 尽量在录制结束时 回到开始录制的画面 以便测试脚本可以重复执行测试 例如当你从主窗口开始录制测试脚本时 在测试脚本的最后 还是要回到主窗口画面 3 当以Analog模式录制时 尽量避免录制按住鼠标的动作 例如当要卷动窗口画面时 以click的方式卷动窗口 尽量不要以按住scrollbar拖曳的方式卷动窗口 4 当需要从ContextSensitive模式切换到Analog模式时 在切换前建议移动一下窗口 如此可确保以Analog模式录制完成后执行时 窗口位置为固定的 5 当你在GlobalGUIMapFile模式下录制测试脚本时 录制的GUI对象之前并未录制过 则WinRunner会将其放在temporaryGUIMapFile中 6 在录制过程中可以利用 F2 切换ContextSensitive与Analog的录制模式 7 当你在GlobalGUIMapFile模式下录制测试脚本时 记得经常检查新的GUI对象是否被新增到temporaryGUIMapFile中 当你离开WinRunner之前请记得将存放在temporaryGUIMapFile中的GUI对象存盘 4 同步点 为何需要引入同步点 当执行测试时 所测试的应用程序每次操作的响应时间并不一定 有时快 有时慢 导致执行输入动作的时间也需要等待 例如以下的动作常会花个几秒钟 从数据库取得数据 等待一个窗口开启 等待状态列成为100 等待某个状态讯息出现当遇到这类的情况 WinRunner会等待一段固定的时间 直到应用程序接受输入的动作 这个等待时间的默认值为10秒钟 假如应用程序响应的时间超过WinRunner等待的时间 则测试执行就可能会失败 解决方法 1 增加WinRunner预设等待的时间点选 Tools GeneralOptions Run Settings 将 TimeoutforcheckpointsandCSstatements 的值加大 预设为1000msec 加大这个设定可能会造成在ContextSensitive的动作变慢 2 在测试脚本中插入同步点 synchronizationpoint 当WinRunner执行到同步点时 会暂停执行以等待应用程序某些状态的改变后 再继续执行 第二种方式是较常被使用的方式 操作 1 在FlightReservation中点选 File NewOrder 2 填入航班与旅客资料 输入以下数据 DateofFlight 11 15 05 日期格式为MM DD YY 日期要大于今天的日期 FlyFrom LosAngeles FlyTo SanFrancisco点选 Flights 按钮 选取一个航班 Name Jojo Class First3 点选 InsertOrder 当完成新增订单后 状态列会显示InsertDone 的讯息 4 点选 DeleteOrder 删除刚刚新增的订单 并按下 Yes 确认 5 停止录制并存储6 变更预设等待时间由10秒到1秒 然后执行 注意观察错误 加入同步点 接下来在当前测试脚本中插入同步点 这个同步点会撷取状态列上InsertDone 的图像 然后当你再次执行测试脚本时 WinRunner会等到InsertDone 的图像出现后 才执行点选 DeleteOrder 的动作 操作 将光标移动到要插入同步点的位置在button press DeleteOrder 这一行上面插入一行空白行 并将光标移到这一行空白行的开头 点选 Insert SynchronizationPoint ForObject WindowBitmap 将鼠标光标移动到InsertDone 的状态列上并点选 WinRunner会在测试脚本中插入一行obj wait bitmap InsertDone Img1 1 的指令 这一行指令表示当WinRunner执行到这里时 会等待InsertDone 的图像出现 等待时间为1秒钟 注意 这个时间通常太短 需要自己修改一个适当的时间长度 当图像出现了 才会继续往下执行 由于等待1秒钟还是太短 所以手动将obj wait bitmap InsertDone Img1 1 指令改成obj wait bitmap InsertDone Img1 10 等待10秒钟 储存测试脚本如果在GlobalGUIMapFile模式下 记得储存新的GUI对象执行测试脚本并检视结果在测试结果下方的事件中 有一行绿色的waitforbitmap事件 表示同步点执行成功 你也可以对此事件点二下 检视此同步点的图像结果 注意 请将WinRunner预设等待时间改回10秒钟 加入同步点的其余两种方式 点选 Insert SynchronizationPoint ForObject WindowProperty 将让你选屏幕上的某个GUI对象 以GUI对象的状态作为同步的依据 如当某GUI对象enable属性为1时 等待10秒钟 才执行下面的代码 代码示例 button wait info UpdateOrder enabled 1 10 点选 Insert SynchronizationPoint ForScreenAreaBitmap 将让你选屏幕上的某个区域 系统记录该区域的图片 以图片作为同步的依据 代码如下所示 等待时间为10秒 手工修改的 obj wait bitmap InsertDone Img2 10 1 1 264 17 5 GUI对象检查点 检查GUI对象在测试应用程序时 通常是透过检查GUI对象的属性 来测试功能是否正常 当GUI对象的属性值与预期的值不符合时 也就表示可能有问题产生了 在WinRunner中可以建立GUI检查点 checkpoint 检查GUI对象的属性 如检查按钮是否可用 某对象的值是否正确 当执行测试脚本时 WinRunner会自动比对执行时的实际值与建立检查点时的预期值 如果一致 表示检查点检查通过 如果不一致 表示检查点检查失败 建立GUI对象检查点 1 开启WinRunner并加载GUIMapFile2 开启FlightReservation并登陆3 开始录制测试脚本4 开启 OpenOrder 窗口5 对 OrderNo checkbox建立检查点在WinRunner点选 Insert GUICheckpoint ForObject Window 双击 单击6 输入订单编号47 对 OrderNo checkbox建立另一个检查点8 对 CustomerName checkbox建立一个检查点9 按下 OK 按钮开启订单10 停止录制11 储存测试脚本及GUImapfile 12 在flight4A和flight4B程序中分别执行 观看结果 两种方式 当对GUI对象以鼠标点一下 WinRunner会以预设检查的属性建立检查清单 checklist 并将检查点插入到测试脚本中 检查清单 的内容纪录了要WinRunner检查的GUI对象与属性 当对GUI对象以鼠标点二下 CheckGUI 对话窗口会开启并显示你选取的GUI对象 以及此GUI对象可供检查的属性 你只要在 CheckGUI 对话窗口上勾选你想检查的属性 WinRunner就会建立检查清单 checklist 并将检查点插入到测试脚本中 不管建立的检查点是检查预设的属性还是你选取的属性 WinRunner会撷取建立检查点当时的属性值当作预期的值 并且在测试脚本中插入obj check gui或win check gui 看你所建立的检查点是针对GUI对象还是窗口对象 检视测试结果 点二下 endGUIcheckpoint 会开启 GUICheckpointResults 窗口 显示此检查点的测试结果 可以看到在检查GUI对象的属性时的预期值与实际值 建立GUI对象检查点时的建议 1 可以使用 Insert GUICheckpoint ForMultipleObjects 一次检查窗口中多个或是全部的GUI对象 透过 CheckGUI 对话窗口选取你要检查的GUI对象与其属性 以建立检查点 WinRunner会在测试脚本中插入win check gui指令 2 如果打算在深夜或无人时执行测试 可以设定当检查点不一致时 WinRunner不要显示讯息以免中断测试的执行 点选 Tools GeneralOptions Run Settings 清除 Breakwhenverificationfails 选项 则在测试执行过程中就不会被检查点不一致的讯息中断了 3 假如想要更新检查点的预期值 请以update模式执行一次测试脚本 则WinRunner会以执行当时撷取到的值 覆盖原本的预期值 成为新的预期值 6 图像检查点 假如想要检查应用程序中的图像 WinRunner提供图像的检查点 bitmapcheckpoint 以图素 pixel 的方式比对图像 注意 当执行含有图像检查点的测试脚本时 请确认屏幕显示设定与显示卡驱动程序与当初测试脚本建立时一样 如果不一样 可能会影响图像检查点的正确性 如应该是通过的图像检查点 WinRunner却判断为失败的图像检查点 建立图像检查点 1 开启WinRunner并加载GUIMapFile2 开启FlightReservation并登陆3 开始录制测试脚本4 开启订单5 传真订单6 输入传真号码7 移动传真订单窗口8 切换到Analog录制模式9 在 AgentSignature 中签下名字 10 切换到ContextSensitive模式 11 建立图像检查点检查签名选取 Insert BitmapCheckpoint ForObject Window 以鼠标点选 AgentSignature WinRunner会撷取 AgentSignature 的图像 并且在测试脚本中插入obj check bitmap指令 12 清除签名13 再建立图像检查点14 关闭传真订单窗口15 停止录制16 储存测试脚本及GUImapfile 17 在flight4A和flight4B程序中分别执行 观看结果 7 使用TSL撰写测试脚本 除了以录制的方式产生测试脚本之外 TSL还内建了许多函数 你可以依照需求很弹性的应用这些功能强大的函数 除此之外 WinRunner还提供可视化工具 函数产生器 FunctionGenerator 帮助你在测试脚本中快速插入函数 函数产生器 FunctionGenerator 提供二种使用方式 你可以直接点选GUI对象 让WinRunner为你建议合适的函数 然后你再把函数加入测试脚本中 Insert Function ForObject Windows 点选对象 你可以直接依照分类 从函数清单中挑选你要使用的函数 Insert Function FromFunctionGenerater 在屏幕下方有该函数的用法说明 除了使用函数外 TSL也提供一般程序语言具备的元素 如条件判断 condition 循环 loop 表达式 arithmeticoperator 使用TSL撰写测试脚本 建立测试脚本 开启订单 开启传真订单窗口 检查总金额是否等于机票单价乘上机票张数 显示检查结果是否正确代码 edit get text Tickets tickets edit get text TicketPrice price edit get text Total total if tickets price total tl step total 0 Theresultiscorrect elsetl step total 1 Theresultisincorrect 其他常用函数 report msg 字符串 用于输出信息 字符串中可以包含变量 将变量的值输出 substr 截取字符串 8 建立数据驱动测试脚本 当建立好测试脚本后 你可能会想要用多组不同的数据去执行测试脚本 为了达到此目的 你可以将测试脚本转换成数据驱动测试脚本 并建立一个数据表提供测试所需的多组数据 当执行数据驱动测试脚本时 WinRunner会读取数据表的每一笔数据 并放入被参数化的地方 然后执行一次 每执行一次称为一个反复 iteration 数据表有几笔数据 WinRunner就会执行几次反复 iteration 并在最后的测试结果中显示每一次反复的测试结果 建立数据驱动的测试脚本 1 开启刚才的测试脚本即 建立测试脚本 开启订单 开启传真订单窗口 检查总金额是否等于机票单价乘上机票张数 显示检查结果是否正确2 执行数据驱动精灵Table DataDriverWizard 选择要调整的数据 3 建立数据表输入数据1 6 8 10 以regularexpression调整GUIMapFile 1 选取 Tools GUIMapEditor 选取 View GUIFiles 选择flight4a gui 选取FaxOrderNo 3窗口 2 修改窗口label属性点选 Modify 按钮 开启Modify窗口 在 PhysicalDescription 字段中 将label这一行第一个双引号后加上 然后将3与前面的空白删除改成 号 按下OK按钮关闭Modify窗口 3 保存GUIMapFile 9 文字检查点 WinRunner提供读取图像或非标准GUI对象上的文字的功能 并手动撰写测试脚本判断 以检查文字是否正确 注意 当要验证标准的GUI对象 按钮 功能选单 list editbox等 上的文字 建议只要使用GUI检查点 以省去手动撰写测试脚本的不便 文字检查点 建立测试脚本 开启图表并读取卖出的票数 新增一笔订单 再开启图表检查卖出的票数是否被更新 回报数值是否正确 1 开启WinRunner并加载GUIMapFile2 开启FlightReservation并登入3 确认文字识别时间的设定4 开始录制测试脚本5 开启图表在FlightReservation中点选 Analysis Graphs 6 读取图表上的票数在WinRunner点选 Insert GetTex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论