收藏 分销(赏)

附录-qtp-windows对象.doc

上传人:仙人****88 文档编号:9496398 上传时间:2025-03-28 格式:DOC 页数:7 大小:69.50KB
下载 相关 举报
附录-qtp-windows对象.doc_第1页
第1页 / 共7页
附录-qtp-windows对象.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
使用QTP测试标准Windows 对象 标准Windows对象是由QTP直接支持的测试对象,在这里,标准Windows对象格式基于Win32 API和MFC创建的应用程序。我们将学习到如何在 QTP 中利用各种测试对象的方法和属性来对标准 Windows 应用程序进行测试。 1.1 标准 Windows 控件的测试 在 QTP 中,标准的 Windows 控件,如 Button、CheckBox 等,都有相应的测试对象来控制。 1.1.1 Dialog 对象测试 Dialog 对象是指 Windows 的对话框控件。对 Dialog 对象的常用测试是 Activate 方法,用于定位对话框,使其处于激活状态。例如: Dialog("Login").Activate Activate 方法模拟用户点击对话框的标题栏,定位到对话框,通常在操作对话框的控件之前,都要先使用这个方法,确保对话框可用。 1.1.2 Static 对象的测试 Static 对象是指 Windows 静态文本、图像控件,可以用 Check 方法对插入图像检查点,在录制过程中,选择彩单 Insert > Checkpoint > Bitmap Checkpoint,然后,选择指定图像的区域,确定即可。 产生的代码如下: Dialog("Login").Static("Static").Check CheckPoint("Static") 1.1.3 WinButton 对象的测试 Click 方法 WinButton 对象的常用测试操作时 Click 方法,用于模拟用户的单击按钮事件,例如,下面的代码模拟用户单击 OK 按钮。 Dialog("Login").WinButton("OK").Click 1.1.4 WinCalendar 对象的测试 SetDate 方法 WinCalendar 对象是指日期和时间选择空间,例如,Windows 搜索助理界面的制定日期控件就是 WinCalendar 对象。 WinCalendar 对象常用的测试操作时设置日期,需要使用 SetDate 方法,例如: Window("我的电脑").Activate Window("我的电脑").WinToolbar("ToolbarWindow32_2").Press "搜索" Window("我的电脑").ActiveX("Search Assistant Control").WinCalendar("SysDateTimePick32").SetDate "12-Aug-2009" Window("我的电脑").ActiveX("Search Assistant Control").WinCalendar("SysDateTimePick32_2").SetDate"18-Aug-2009" Window("我的电脑").WinToolbar("ToolbarWindow32_4").Press "关闭" Window("我的电脑").Close SetDate 方法的参数是 Date,可以用两种方式传入: 日期字符串型:格式为 d-MMM-yyyy,其中 d 表示日,MMM 表示英文月份缩写,yyyy表示年份。 使用 VBScript 日期函数:例如 Date,Now,IsDate,CDate 等。下面的脚本把日期控件的日期设置为当天: Window("我的电脑").ActiveX("Search Assistant Control").WinCalendar("SysDateTimePick32").SetDate Date 除了设置日期外,还可以使用 WinCalendar 对象的 SetTime 方法来设置时间,例如,下面的脚本把日期控件的时间设置为 11 点 11 分 11 秒: Dialog("Common Controls").WindCalendar("SysDateTimePick32").SetTime "11:11:11" 1.1.5 WinCheckBox 对象的测试 Set 方法 WinCheckBox 对象的常用测试操作是 Set 方法,用于模拟用户把某个选项选上。下面的脚本用于把 Customer Name 选项勾选上: '定位到 Open Order 窗口 Window("Flight Reservation").Dialog("Open Order").Activate '把 Customer Name 选择框勾选上 WIndow("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON" Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "WFS" Set 方法的参数可以输入"ON","OFF",或者是"DIMMED"3 种状态的值。 1.1.6 WinComboBox 对象的测试 Select 方法 GetItemsCount方法 GetItem方法 WinComboBox 对象的常用测试操作时 Select 方法,用于模拟用户从下拉框中选择某项内容,例如,下面的脚本从"Fly From"下拉框中选择起飞地点,从 Fly To 下来框中选择终点: '从下拉框总选择起飞地点 Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver" '从下拉框总选择终点 WIndow("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt" Window("Flight Reservation").WinButton("FLIGHT").Click 另外,WinComboBox 对象还提供一些方法来方便地获取到下拉框的内容,例如,下面的脚本获取下拉框中的所有项的总数: MsgBox Window("Flight Reservation").WinComboBox("Fly To:").GetItemsCount 而下面的脚本将获取 Index 为 1 的下拉框项对应的内容: '从下拉框 Index 获取对应的内容 ItemStr = WIndow("Flight Reservation").WinComboBox("Fly To:").GetItem(1) If ItemStr = "Denver" Then MsgBox "OK" Else MsgBox ItemStr End If 1.1.7 Window 对象的测试 Window 对象是指窗体控件,Window 对象的常用测试操作时 Activate、Maximize、Restore方法,例如,下面的脚本首先定位到记事本窗口,然后,最大化记事本的窗口,最后,恢复 记事本窗口的大小: '定位到记事本的窗口 Window("记事本").Activate '最大化记事本窗口 Window("记事本").Maximize '恢复记事本窗口的大小 Window("记事本").Restore 另一个常用的测试操作时通过 GetROProperty 方法获取窗口的标题,判断标题是否为制定的名称,例如,下面的脚本用于获取记事本窗口的标题 '获取记事本窗口的标题 MsgBox WIndow("记事本").GetROProperty("text") 1.1.8 WinEdit 对象的测试 Set 方法 SetSecure 方法 WinEdit 对象是常见的输入框,其中常用的测试操作时 Set 方法,可用于模拟用户往输入框中输入文字,例如,下面的脚本在 Name 输入框中输入文本 WFS: '在 Name 输入框中输入 WFS Window("Flight Reservation").WinEdit("Name:").Set "WFS" 如果需要输入加密的文字,则可使用 SetSecure 方法,例如,下面的脚本在 Password 输入框中输入加密后的密码字符串: Dialog("Login").Activate 1 Dialog("Login").WinEdit("Agent Name:").Set "MERCURY" '在 password 中输入加密后的字符串 Dialog("Login").WinEdit("Password:").SetSecure "47d0bb547b92729a4951b5e2fd088faed8c80334" Dialog("Login").WinButton("OK").Click SetSecure 方法主要用于在录制测试脚本的过程中,对输入密码进行加密,然后,在回放脚本时进行解密,从而避免吧密码明文地显示在测试脚本中。 1.1.9 WinEditor 对象的测试 Set 方法和 SetSecure Type 方法 WinEditor 对象与 WinEdit 对象的使用方法比较类似,同样额可以通过 Set 方法和 SetSecure 方法来模拟用户输入未加密或加密的内容。也可以使用 Type 方法来模拟用户往输入框中输入文本,例如,下面的脚本网记事本中输入一段文字,然后按下 Enter 键。 Window("记事本").WinEditor("Edit").Type "123456789wangfasheng" Window("记事本").WinEditor("Edit").Type micReturn 1.1.10 WinList 对象的测试 Select 方法 WinList 对象是指列表控件,例如,在 Flight 程序中,选择航班的界面中航班列表就是一个 WinList 控件。 WinList 最常用的测试操作是 Select 方法,用于模拟用户选择列表中的一项内容,例如,下面的脚本选择列表中的指定名称的内容。 Window("Flight Reservation").Dialog("Flights Table").Activate '选择 WinList 列表中的某项内容,通过名称指定 Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select "14243 DEN 12:57 PM FRA 01:41 PM SR $110.00" Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click 也可以通过指定 Index 来选择内容,例如,下面的脚本指定选择 Index 为 2 的某项内容。 Window("Flight Reservation").Dialog("Flights Table").Activate '选择 WinList 列表中的某项内容,通过 Index 指定 Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select 2 Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click 这里指定 Index 为 2,并不是指列表中的第二项内容,而是第 3 项,因为 Index 是从 0 开始计算的。 1.1.11 WinListView 对象的测试 Select 方法 ExtendSelect 方法 WinlistView 对象是指列表视图控件,例如,Windows 资源管理器右边窗口就是一个WinListView 控件。其常用的测试操作是 Select 方法,用于模拟用户选择列表视图中的一项内容,例如,下面的脚本通过名称指定选择 SysListView32 中的某项内容。 '通过名称指定选择 SysListView32 中的某项内容 Window("我的电脑_2").WinListView("SysListView32").Select "本地磁盘 (C:)" Window("我的电脑_2").WinListView("SysListView32").Select "本地磁盘 (C:)"中的第 3 项。 '通过 Index 指定选择 SysListView32 中的某项内容 Window("我的电脑_2").WinListView("SysListView32").Select 2 WinListView 还提供了一个 ExtendSelect 方法,用于模拟用户按下 CTRL 键进行多选,例如,下面的脚本同时选择了两项内容。 模拟用户按下 CTRL 键进行多选 WIndow("我的电脑_2").WinListView("SysListView32").Select 0 Window("我的电脑_2").WinListView("SysListView32").ExtendSelect 1 1.1.12 WinMenu 对象的测试 Select 方法 BuildMenuPath 方法 WinMenu 对象是指菜单控件,其常用测试操作时 Select 方法,用于模拟用户选择某个菜单项。例如,下面的脚本通过制定菜单名称来选择记事本的"文件>新建"菜单: Window("记事本").Activate '通过指定菜单名称来选择菜单 Window("记事本").WinMenu("Menu").Select "文件(F);新建(N) Ctrl+N" 也可以通过指定 Index 来选择菜单,例如下面脚本打开记事本的"文件 > 打开"菜单 Window("记事本").Activate '通过指定菜单 Index 来选择菜单 Window("记事本").WinMenu("Menu").Select "<Item 1>;<Item 2>" 这里 Index 从 1 开始。 可以使用 BuildMenuPath 方法来构建菜单路径。例如下面的脚本先用 BuildMenuPath 方法来构建菜单选择路径 "文件 > 新建",然后使用 Select 方法执行菜单选择动作。 '构建菜单选择路径文件 > 新建 MenuPath = WIndow("记事本").WinMenu("Menu").BuildMenuPath("文件(F)","新建(N) Ctrl+N") Window("记事本").WinMenu("Menu").Select MenuPath 1.1.13 WinRadioButton 对象的测试 Set 方法 WinRadioButton 对象是指单选按钮控件,例如,Flight 程序的主界面中的介个机舱登记选择项就是 WinRadioButton 对象,其常用的测试操作时 Set 方法,例如,下面的脚本模拟用户单击 First 单选按钮,选择一等机舱的机票。 Window("Flight Reservation").Activate '选择 First 选项 WIndow("Flight Reservation").WinRadioButton("First").Set 1.1.14 WinScrollBar 对象的测试 Set、NextLine、NextPage、PreLine、PrePage WinScrollBar 对象是指滚动条对象,可以使用其中的 Set、NextLine、NextPage、PreLine、PrePage 等方法来模拟用户拖动滚动条的动作,例如,下面的脚本模拟用户单击 Excel 应用程序中的滚动条,让其下滚 1 行。 Window("Book1").Activate '单击 Excel 应用程序的滚动条,让其下滚 1 行 Window("Book1").WinScrollBar("ScrollBar").NextLine 1 如果想让滚动条向上滚动 1 页,则使用 PrePage 方法,NextPage 相当于按下 PageDown按钮,PrePage 相当于按下 PageUp 按钮。 还可以使用 Set 方法将滚动条设置在某个位置,如下。 Window("Book1").Activate Window("Book1").WinScrollBar("ScrollBar").Set 5 可以使用 GetROProperty 方法先获取 ScrollBar 的 maxscrollpos 属性,取得可滚动的最大范围,再根据这个值来决定设置滚动条的位置,这样可避免使用 Set 方法设置的位置超出范围,例如,如下脚本将滚动条设置在中间位置。 Window("Book1").Activate '获取 ScrollBar 的 maxscrollpos 属性 max = Window("Book1").WinScrollBar("ScrollBar").GetROProperty("maxscrollpos") '设置滚动条位置为中间 MsgBox max pos = max/2 Window("Book1").WinScrollBar("ScrollBar").Set pos 1.1.15 WinSpin 对象的测试 WinSpin 对象是数值选择空间,例如,Windows 的日期和时间属性窗口中的年份选择空间就是一个 WinSpin 对象 该控件常用的测试操作时 Next、Pre、Set 方法,例如,下面的脚本先判断日期控件中的日期是否为 2009 年,如果是,则使用 WinSpin 的 Next 方法将日期调到 2010 年。 Dialog("日期和时间 属性").Activate '如果是 2009 年,则往后选择 If Dialog("日期和时间 属性").WinEdit("Edit_2").GetROProperty("text")=2009 Then Dialog("日期和时间 属性").WinSpin("msctls_updown32").Next End If 如果想把日期调前一年,则使用 WinSpin 的 Pre 方法。如果想把日期设置到某个特定的年份,则可使用 WinSpin 的 Set 方法,如以下代码所示: '直接把日期设置为 1997 年 Dialog("日期和时间 属性").WinSpin("msctls_updown32").Set 1997 1.1.16 WinStatusBar 对象的测试 GetContent WinStatusBar 对象是指状态栏控件,其常用的测试操作是 GetContent 获取状态栏的所有信息,例如,下面的脚本获取画图工具的状态栏信息。 '获取画图的状态栏信息 Status = Window("画图").WinStatusBar("msctls_statusbar32").GetContent MsgBox Status GetContent 取得的是状态栏中的所有信息,而状态栏可能会分成若干个部分,例如Windows 资源管理器的状态栏。 Windows 资源管理器的状态栏。如何分别取得每一部分的信息呢?方法是使用 WinStatusBar的 GetItem 方法,例如,下面的脚本首先似乎用 GetItemsCount 方法获取到状态栏部分的个数,然后使用 GetItem 方法循环取得每一个部分的状态栏信息。 '使用 GetItemsCount 方法获取到状态栏部分的个数 StatusItemCount = Window("本地磁盘 (C:)").WinStatusBar("msctls_statusbar32").GetItemsCount '循环取得每一个部分的状态栏信息 For i=0 to StatusItemCount-1 StatusItem = WIndow("本地磁盘 (C:)").WinStatusBar("msctls_statusbar32").GetItem(i) MsgBox StatusItem Next 1.1.17 WinTab 对象的测试 Select 方法 GetSelection方法 WinTab 对象是指页签控件,例如,Windows 的日期和时间属性窗口中就有一个包含 3 个页签的 WinTab 对象,其常用的测试操作时 Select 方法,例如,下面的脚本模拟用户选择日期和时间窗口中的 3 个页签。 Dialog("日期和时间 属性").WinTab("SysTabControl32").Select "时区" Dialog("日期和时间 属性").WinTab("SysTabControl32").Select "Internet 时间" Dialog("日期和时间 属性").WinTab("SysTabControl32").Select "时间和日期" 另外,Select 方法的输入参数也可以使 Index,Index 从 0 开始,下面的脚本与上面的脚本效果是一样的。 Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 1 Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 2 Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 0 WinTab 对象还提供了一个叫 GetSelection 的方法,用于确定当前所选的页签是哪一个,例如,下面的脚本首先使用指定 Index 的方式来选择第二个页签,然后通过 GetSelection 方法获取当前所选的页签名称。 '选择第二个页签 Dialog("日期和时间 属性").WinTab("SysTabControl32").Select 1 '通过 GetSelection 方法获取当前所选的页签名称 SelectedTab = Dialog("日期和时间 属性").WinTab("SysTabControl32").GetSelection Reporter.ReportEvent micDone,"目前选择的 Tab 页是:",SelectedTab 运行脚本,在测试结果中展开结果树,观察运行结果。 1.1.18 WinToolbar 对象的测试 Press 方法 WinToolbar 对象是指工具栏控件,其常用的测试操作是 Press 方法,用于模拟用户单击工具栏上的某个按钮,例如,下面的脚本用于模拟用户单击 Windows 资源管理器的工具栏上的"向上"、"后退"、"搜索"按钮。 Window("本地磁盘 (C:)").WinToolbar("ToolbarWindow32_2").Press "向上" Window("我的电脑").WinToolbar("ToolbarWindow32").Press "后退" Window("本地磁盘 (C:)").WinToolbar("ToolbarWindow32_2").Press "搜索" Press 方法的输入参数也可以是 Index,Index 从 1 开始,例如,下面的脚本实现了与上面脚本一致的功能。 Window("本地磁盘 (C:)").WinToolbar("ToolbarWindow32_2").Press 3 Window("我的电脑").WinToolbar("ToolbarWindow32").Press 1 Window("本地磁盘 (C:)").WinToolbar("ToolbarWindow32_2").Press 4 1.1.19 WinTreeView 对象的测试 Select、Expand、ExpandAll、Collapse 等方法 WinTreeView 对象是指树形选择控件,例如,Windows 资源管理器中左边的窗口就包含一个 WinTreeView 控件。其常用的测试操作包括 Select、Expand、ExpandAll、Collapse 等方法。例如,下面的测试脚本用于在资源管理器中选择某个磁盘: '在资源管理器中选择某个磁盘 Window("我的电脑").WinTreeView("SysTreeView32").Select "桌面;我的电脑" Window("我的电脑").WinTreeView("SysTreeView32").Select "桌面;我的电脑;本地磁盘 (C:)" 可以看到,选择的几点按层次关系用";"隔开。如果想展开某个节点,可用 WinTreeView 对象的 Expand 方法,例如,下面的脚本用于依次展开"我的电脑"、"本地磁盘(C:)"节点。 '依次展开我的电脑,本地磁盘(C:)节点 Window("我的电脑").WinTreeView("SysTreeView32").Expand "桌面;我的电脑" Window("我的电脑").WinTreeView("SysTreeView32").Expand "桌面;我的电脑;本地磁盘 (C:)" 也可以用 ExpandAll 展开全部节点,例如,下面的脚本用于展开 C 盘的所有文件夹目录节点。 '展开 C 盘所有文件夹目录节点 Window("我的电脑").WinTreeView("SysTreeView32").ExpandAll "桌面;我的电脑;本地磁盘 (C:)" 而收起处于展开状态的节点则可以使用 Collapse 方法,例如,下面的脚本用于收起处于展开状态的 C 盘节点。 '收起 C 盘节点 Window("我的电脑").WinTreeView("SysTreeView32").Collapse "桌面;我的电脑;本地磁盘 (C:)"
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服