使用IBM RationalFunctionalTester进行GUI自动化测试

0 下载量 107 浏览量 更新于2024-08-30 收藏 342KB PDF 举报
"火龙果软件工程技术中心关于使用IBM RationalFunctionalTester进行GUI自动化测试的文章" 在GUI自动化测试中,遇到定制的Java控件或者非标准库中的控件时,会带来一定的挑战。IBM RationalFunctionalTester (RFT) 提供了一些功能来应对这类问题,主要涉及两个方法:getProperty和invoke。这篇文章详细解释了如何利用这两个方法来操作和测试这些非标准控件。 首先,对象图(ObjectMap)是RFT中用于识别和管理应用界面上各种控件的一个重要工具。通过ObjectMap,测试人员可以定义和存储控件的属性,以便在测试脚本中引用。这使得能够轻松地获取和设置控件的状态,提高了测试的准确性和效率。 接下来,获取控件的属性是自动化测试中的常见任务。RFT的getProperty方法允许测试人员从控件中动态获取属性值。例如,如果一个定制的文本框没有提供标准的getText方法,那么可以使用getProperty方法来获取其当前显示的文本内容。 此外,调用控件方法则涉及到invoke方法。这个方法允许测试人员执行控件上的任意方法,即使这个方法不在RFT的标准接口中。这对于那些非标准控件尤其有用,因为它们可能包含一些特定的行为或者事件处理函数,这些可以通过invoke来触发。 文章还提到了一个更复杂的案例,即如何将所有组件放入一个小窗口类。这种情况下,测试人员可能需要对整个窗口进行操作,而不是单独的控件。通过组合使用getProperty和invoke,可以实现对窗口内所有控件的集体操作,比如隐藏、显示或移动窗口。 对于定制的Java控件,比如LotusNotes中的Editorapplet,由于其不在标准的AWT或Swing库中,RFT无法直接提供完整的接口。但是,RFT仍然可以通过getProperty和invoke来与这些自定义控件交互。例如,即使Editorapplet的按钮不是标准的Swing或AWT按钮,测试人员仍能通过这些方法来模拟用户点击,从而触发相应的功能。 RFT通过getProperty和invoke提供了一定的灵活性,使得测试人员能够处理那些标准接口无法覆盖的复杂情况。这极大地扩展了RFT在自动化测试中的适用范围,使其能够适应各种各样的应用环境,包括那些包含大量定制控件的系统。通过掌握这些技术,测试团队可以更加有效地自动化测试那些具有挑战性的GUI组件,提高测试的质量和效率。