《winrunner如何识别GUI对象》由会员分享,可在线阅读,更多相关《winrunner如何识别GUI对象(47页珍藏版)》请在金锄头文库上搜索。
1、第二章 winrunner如何识别GUI对象 解释 WinRunner 如何识别应用程序中的 GUI 对象 示范如何使用 GUI Spy 查看 GUI 对象的属性 (properties) 说明二种 GUI Map 模式 教WinRunner学习被测软件的GUI 说明如何使用 RapidTest Script Wizard 学习 对象并产生测试脚本(script)2.1 WinRunner 如何识别应用程 序中的 GUI 对象 一般的 Windows 应用程序,通常是由窗口、按钮 、list、菜单等所组成,在 WinRunner 这些窗口、 按钮等通称为 GUI (Graphical User
2、 Interface)对 象(GUI object)。 WinRunner 会透过这些 GUI 对象的属性(physical properties),如 class、label、width、height、handle 与 enabled 等,来识别 GUI 对象 。WinRunner 只会纪录最少但可组合成唯一的属性 来辨识 GUI 对象。2.1.1WinRunner 识别GUI 对象的 步骤 WR从测试脚本中读取逻辑名称并指向GUI mapWR从GUI map中根据逻辑名称找到 相应的物理描述WR根据物理描述在软件 中找到对象完成对对象的识别,执行测 试脚本中的操作。2.1.2逻辑名(Log
3、ic Names) WR 使用逻辑名(Logic name)定义对象,逻辑名实际 上是对象物理描述的昵称。 而且在测试脚本中,WR 不使用全部的物理描述来 表示对象,而是给每个对象一个逻辑名。 对象的逻辑名由它的类决定。多数情况下,逻辑名 是对象的卷标:一个 button 的逻辑名就是它的卷标 ,如“OK”或“Cancel”;一个 window 的名称就是它 标题栏上的文本;一个 list 的名称是 list 上方或旁 边的文本。 对于一个 static text(静态文本)对象, 逻辑名是 text 和字串(string)“(static )”的结合。如 static text “File
4、Name”的 逻辑名是:“File Name (static)”。 在特定情况下,一些在同一窗体中的对 象会有相同的逻辑名加上一个位置选择 符(location selector),如: (LogicName_1, LogicName_2)。目的是 给对象一个唯一名称。2.1.3 物理描述(Physical Description) WR 使用物理描述识别被测软件的 GUI 对象 。物理描述包括:物理属性清单和每个属 性 的值。这些“属性值”的配对在 GUI map 中 以下面的格式出现:属性 1:值 1,属性 2: 值 2 ,property3:value3,. 例如:对于“Open”win
5、dow 的描述包含两 个属性:类(Class)和卷标(Label)。类 的属性的值是“window”,卷标的属性的 值是“Open”:class:window,label:Open 类的属性标识对象的类型。每个对象根 据功能不同属于不同的类:window, push button, list, radio button, menu 等 。2.2如何使用 GUI Spy查看 GUI 对 象的属性 WinRunner 提供一个工具叫 GUI Spy,可以 用来检视某个 GUI 对象有哪些属性以及 WinRunner 是以哪些属性来识别此 GUI 对象 的。 以下将示范以 GUI Spy 检视 Fl
6、ight Reservation 范例程序登入窗口的 GUI 对象 。2.2.1开启 Flight Reservation 范 例程序执行【开始】-【程序集】-【WinRunner】-【Sample Applications 】-【Flight 4A】,登入窗口会开启。2.2.2 启动 WinRunner 执行【开始】-【程序】-【 WinRunner】-【WinRunner】,如果 是第一次执行WinRunner,会开启欢迎 窗口,则点选【New Test】;如果没有 开启欢迎窗口,则点选【File】-【New 】。2.2.3 启动GUI Spy 点选【Tools】-【 GUI Spy】开启
7、 GUI Spy,勾选【 Hide WinRunner】 。2.2.4 检视 WinRunner 用来识别 【OK】按钮的属性 在 GUI Spy 按下【Spy】按钮,WinRunner 会缩到 最小,这时你可以看到 Flight Reservation的登入窗 口,将鼠标移动到登入窗口上,这时你可以看到被 鼠标指到的 GUI 对象会有个外框在闪动,同时 GUI Spy 也会显示此 GUI 对象的属性。将鼠标移到【 OK】按钮上,然后按下左边的【Ctrl+F3】,会跳 出 Spy 模式,你可以看到 GUI Spy 中显示【OK】 按钮的属性。2.2.5 检视 GUI Spy 显示的信息 在 G
8、UI Spy 最上面显示了这个【OK】按钮所隶属 的窗口是 Login 窗口,且此【OK】按钮的logic name 为 OK。 在【Recorded】页签,则是显示 WinRunner 用来 识别【OK】按钮的属性,分别是 class: push_button 以及 label:Ok,表示这个 GUI 对象 是个按钮,按钮上面的文字是 OK。 在【All Standard】页签,则是显示【OK】按钮的 所有属性。 在这你发现到 WinRunner 只用最少的属性来识别 GUI 对象。2.2.6 检视 Login 窗口上其它 GUI 对象的属性花一点时间,用 GUI Spy 检视一下 Logi
9、n 窗口上其 它 GUI 对象的属性。2.2.7 关闭 GUI Spy 按下【Close】关闭 GUI Spy。练习:使用GUI Spy识别对象 请用GUI Spy识别winrunner自带的Flight 4A的登录窗口的按 钮Cancel属性!并把结果复制到一个记事本里面!2.3选择 GUI Map 模式 当 WinRunner 识别完 GUI 对象后,会将 GUI 对象 储存在 GUI Map File,WinRunner 提供二种GUI Map File 模式:GUI Map File per Test 与 Global GUI Map File。 因此在开始使用 WinRunner 识
10、别 GUI 对象并执行 自动测试之前,你应该先考虑要使用哪种 GUIMap 模式,是 GUI Map File per Test 还是 Global GUI Map File?2.3.1 GUI Map File per Test模式 在 GUI Map File per Test 模式,当你新建立一个 测试脚本(test script),WinRunner 就会自动帮 你建立此测试脚本的 GUI Map File,当你储存测试 脚本时,WinRunner 也会自动储存 GUI Map File, 而当你开启测试脚本时,其 WinRunner 也会自动 加载其 GUI Map File,总之所
11、有与 GUI Map File 有关的动作,都由 WinRunner 自动会你处理掉了 。 如果你才刚开始接触 WinRunner,可以考虑使用 GUI Map File per Test 模式,如此一来你就不需要 处理 GUI Map File 的相关动作,如建立、储存与加 载。2.3.2 Global GUI Map File模式 在 Global GUI Map File 模式,你可以多个测 试脚本共享一个 GUI Map File。另外,你还 要记得储存 GUI Map File,并且在开启测试 脚本时,也要同时加载使用的 GUI Map File 。 如果你已经熟悉 WinRunne
12、r 的使用,可以考 虑使用 Global GUI Map File 模式。2.3.3 设定要使用的 GUI Map File 模式 WinRunner 默认值是使用 Global GUI Map File,要设定 GUI Map File 模式, 点选【Tools】-【General Options】 -【General】-【GUI Files】,设定你 要的 GUI Map File 模式,按下【OK】 按钮就行了。如果你重新设定 GUI Map File 模式后 ,记得要重新启WinRunner 让设定 生效。而且不要在练习的过程中, 任意切换 GUI Map File 模式。2.4 教W
13、inRunner学习被测软件的 GUI 当使用 GUI Map File per Test mode 时 ,WR 会在录制脚本时自动学习软件的 GUI。 注意:在 GUI Map File per Test 模式下 ,RapidTest Script wizard 将被禁用。 使用 RapidTest Script wizard 学习软件每个 窗体中所有 GUI 对象的属性 通过录制脚本的方法学习被录制的那部分软 件中所有的 GUI 对象的属性 使用 GUI Map Editor 学习单个 GUI 对象、 窗体或某个窗体中所有 GUI 对象的属性当使用 Global GUI Map File
14、mode 时,GUI Map File per Test mode与Global GUI Map File mode 的对比2.5使用 RapidTest Script Wizard 当你选择 Global GUI Map File 模式时,可以 使用 RapidTest Script Wizard 帮助你快速建 立 GUI Map File。RapidTest Script Wizard 会有系统的开启应用程序中的窗口,并识别 窗口中所有的 GUI对象。 RapidTest Script Wizard 只能在 Global GUI Map File 模式下使用。 当 WinRunner 有加
15、载 Terminal Emulator、 WebTest、Java add-ins 时,RapidTest Script Wizard 也无法使用。 接下来我们利用 RapidTest Script Wizard 识 别 Flight Reservation 的 GUI 对象。2.5.1开启 Flight Reservation 范例 程序执行【开始】-【程序集】-【WinRunner】-【Sample Applications 】-【Flight 4A】,登入窗口会开启。2.5.2 启动WinRunner2.5.3 选择 InsertRapidTest Script Wizard2.5.4
16、RapidTest Script Wizard的 打开2.5.5 标识被测软屏幕打开2.5.6 被测软屏幕的选择点击指向手(手型图标),然后点击被测软件。被测软件的窗体名 称显示在 Window Name 框中。2.5.7 选择测试屏幕打开选择你希望 WR 创建的测试类型。当 RapidTest Scipt Wizard 在被测软件中 走查结束,你选择的测试就会被显示在 WR 窗口中。你可以选择以下几种类型的测试: GUI Regression Test(界面回归测试)用来比较 软件不同版本中的 GUI 对象。例如检查一个 button 是否被禁用。创建这种测试时,WR 先捕捉 GUI 对 象默认信息。在回 归测试时,WR 把当前信息和默 认比较,并报告不符合的地方。 Bitmap Regression Test (位图