使用 API 编辑功能测试脚本
这些主题描述如何能够利用 Functional Tester 应用程序编程接口 (API) 或脚本编制框架对功能测试脚本进行更改。作为一项通用规则,对脚本编制 SDK 进行的修改应尽可能接近地模仿对受测试应用程序进行测试的用户交互。
您可以首先使用脚本编制框架对所记录的功能测试脚本进行以下一些简单修改:
更改用户操作,如将
Object().Drag() 更改为 Object().Click()
。
删除已记录的命令。
将重复频率较高的操作序列放入方法中。
向日志中写入消息
日志是包含 Functional Tester 脚本回放时出现的事件记录的文件。 您可以使用几种不同的方法来将消息写入日志。
修改脚本执行选项
可以通过用户界面指定一些影响脚本执行的脚本编制框架选项。在用户界面中设置的值持续用作各个脚本的缺省值。但是,您也可以使用脚本编制框架直接在功能测试脚本中设置其中一些选项,例如击键之间的时间量。
从脚本中启动 Functional Tester 脚本
Functional Tester 脚本可以包含用于调用其他测试脚本的方法。您可能想要通过创建用于充当脚本套件的命令文件的 Functional Tester 脚本来利用此功能。
查询对象属性的值
正在测试的应用程序中的组件(如对话框、命令按钮和标签)具有称为属性的关联信息。属性具有名称和值。该主题提供了一些示例,用以说明您可能想要修改脚本以访问对象属性的原因。
注销对测试对象的引用
Helper 脚本方法通过使用测试对象图来访问测试下应用程序中的对象。每当对象上有方法被调用时,Functional Tester 便会查找此类映射的对象。但在某些情况下,您可以不想让 Functional Tester 查找此类映射的对象。
处理模糊识别
在回放期间的某些情况下,Functional Tester 可能无法区分正在测试的软件中的两个相似对象。本主题描述如何处理这些情况。
添加手动和动态验证点
除了记录期间指定的验证点外,您还可以将新的验证点加入到 Functional Tester 脚本中。通过对手动和动态验证点进行脚本编制,可以指定数据,以与非测试对象图中的对象进行比较。但是,数据必须基于值类。
处理非预期活动窗口
在 GUI 测试中,出现非预期活动窗口是一个常见问题 -- 例如,HTML 浏览器中的警告消息框。本主题描述如何处理该问题。
Functional Tester 示例
Functional Tester 附带一些可供您在自己的脚本中使用的示例代码。您可以从 Functional Tester 附带的样本项目中打开这些示例。
确定表中单元格的值
使用 Java 或 HTML 表时,可能希望抽取表中给定单元格的值。有许多执行此操作的方法;一种简单的方法是直接查询表。
用 Functional Tester 读取 Windows 注册表
Windows 注册表是 Windows 操作系统用于存储配置信息的数据库。 测试员常常需要使用 Functional Tester 命令从此数据库读取信息。本主题提供关于执行此操作的示例。
使用 getTestData 方法在树控件的项中进行迭代
本主题提供一个示例,即使用 Functional Tester 的
getTestData
方法以程序方式访问树控件的分支上的值。
使用 getTestData 方法在表单元格中进行迭代
本主题提供一个示例,即使用 Functional Tester 的
getTestData
方法来访问网格控件的单元格中的值。
将参数传递到 callScript 方法
该主题描述如何使用
callScript
方法的不同签名将数据从一个脚本传递到另一个脚本。
从组合框/列表控件 (JComboBox) 中抽取数据
您可以使用 Functional Tester 的
getTestData
方法来访问“组合框/列表”控件列表中的值。
回放低级别鼠标和键盘操作
鼠标和键盘操作的低级别回放能增强对用户操作事件的控制。 例如,Functional Tester 当前支持 TestObject.click(),此处的单击包括多个低级别操作,包括移动鼠标、按下鼠标左键以及松开鼠标左键。可以使用该功能回放鼠标单击过程的个别部分。
搜索测试对象
Rational Functional Tester
支持用于查找一个或多个与指定搜索条件匹配的
TestObject
的方法。此搜索基于表示所查找的
TestObject
或
TestObjects
的属性的名称/值对。搜索可以是全局性的,也可以限制为父
TestObject
的子代。
搜索 SAP TestObject
通过 Functional Tester,即使不使用对象图,也可以找到与指定搜索条件匹配的一个或多个 SAP
TestObject
。
跟踪 AJAX 请求
可以用两种不同方式测试基于 AJAX 的应用程序;通过在相应文档对象上将“自动跟踪”选项设置为 true 或通过将“自动跟踪”选项设置为 false。通过将“自动跟踪”选项设置为 true,可以跟踪 AJAX 请求。
搜索 GEF 对象
Functional Tester 识别 GEF EditPart 和 Palette。一些图可能与 EditPart 无关联。可以使用 Functional Tester API 来查找此类图,如以下示例中所示。
使用 PowerBuilder 中的 describe 函数来传递参数
在 PowerBuilder 中,您可以使用
describe()
函数来识别 DataWindow 对象及其控件的属性。
describe()
函数只能通过 PowerBuilder DataWindow 进行使用。
describe()
函数根据在
describe()
函数中指定的参数返回一个生成的字符串例如,您可以在表样式说明中查找列的数据类型。 可以在 IBM® Rational Functional Tester 中使用 describe 函数,如以下示例所示。
查找浏览器的状态
在记录功能测试脚本时,如果发现记录未选取某些控件,可以验证在记录过程中使用的浏览器是否处于记录就绪状态。同样,如果在回放过程中遇到问题,可以验证浏览器的状态。为此,您可以改编 dynamic find() API 并使用 Html.HtmlBrowser 方法。
在 Dojo 树中查找对象
您可以改编动态 find() API 并使用 dojoTreeExpand() 方法在受测试应用程序中的 Dojo 树控件内查找所有对象。
从功能测试脚本中读取多个数据池
您可以改编 dynamic find() API 以从功能测试脚本中读取多个数据池。
父主题:
扩展 Rational Functional Tester 的功能
反馈