收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > Robot > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

如何在 Rational Robot 项目中使用 Windows API 来操作 GUI 控件

来源:互联网 日期:2012-05-22 16:00
由于 Robot 对界面控件识别的局限性,Robot 不能很好地操作一些控件,例如:日期时间控件 (DateTimePicker),属性页控件 (TabControl) 和工具栏控件 (Toolbar) 等等。本文讲述了一种在 Robot 中调用 Windows API 来操作这些常用 GUI 控件的方法,该方法可以应用于所有的 Windows 中常用的控件。使用该方法能极大地扩展 Robot 与 GUI 控件交互的功能,同时有助于提高 GUI 自动化测试脚本的稳定性和可移植性。

在 Rational Robot 中录制或者开发 GUI 自动化测试脚本的过程中,我们会发现 Rational Robot 在操作一些常用的 GUI 控件上有很多的局限性。这主要是因为 Rational Robot 无法识别被测控件的全部属性或者被测控件的属性会随着环境而改变导致其状态和录制脚本时候的状态不一致。

本文提供了一种方法可以对常用的 GUI 控件进行精确地操作。使用这个方法,能够保证我们对控件操作的正确性,同时还不依赖于控件的初始状态和环境,大大地提高了脚本的稳定性和可移植性。

在 Rational Robot 脚本中利用 Windows API 来操作 GUI 控件的基本原理

这个方法主要是利用了 Windows API 中的 SendMessage 函数能够模拟用户界面操作的功能。SendMessage 能够通过给特定的对象发送消息来达到和用户在界面上用鼠标或者键盘直接操作一样的功能。

下面给出这个方法的大致步骤:

初始化 SendMessage 需要用到的参数。 申请内存区域,通过给内存区域向 SendMessage 传递参数。 调用 SendMessage 函数发送操作的消息。 操作结束。

下面我们将通过使用 Windows API 来操作日期时间控件 (DateTimePicker) 为例子来介绍这个方法的具体实现。

在接下来的内容中,您将可以了解到如下的内容:

日期时间控件简介。 Rational Robot 对日期时间控件操作的局限性。 SendMessage 函数简介。 在 Rational Robot 中如何调用 Windows API 函数。 在 Rational Robot 中如何实现参数的地址传递。 利用 Windows API 对日期时间控件操作的方法。 利用 Windows API 来操作 GUI 控件的实现细节。



回页首

Windows 程序中常用的 GUI 控件

在 Windows 程序中常用的 GUI 控件有日期时间控件 (DateTimePicker),属性页控件 (TabControl) 和工具栏控件 (Toolbar) 等等。

日期时间控件 (DateTimePicker, 简称 DTP 控件 ) 通常和月历控件绑定在一起工作,这个控件允许用户选择日期、时间和月份或者置成空值。缺省时,用户可单击控件的右边的下拉按钮,即可弹出月历控件以供用户选择日期,通过风格的改变还可在日期时间控件内显示时间。

在月历控件中,用户可按击控件左右两边的箭头按钮 , 可前后翻页显示相关的月份。


图 1. 日期时间控件简单示例

在上图示例中,用户可以使用日期时间控件来设置 ExpireDate 属性的值。


本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号