消除识别测试对象过程中的二义性情形(3)

发表于:2011-12-09来源:未知作者:娃娃点击数: 标签:软件测试对象
选择合适的对象识别方法 显然,默认的方法拥有丰厚的工具支持。Rational Functional Tester 提供了强大的工具,例如 Test Object Map 和 Script Assure ,可以轻松解决

  选择合适的对象识别方法

  显然,默认的方法拥有丰厚的工具支持。Rational Functional Tester 提供了强大的工具,例如 Test Object Map 和 Script Assure ,可以轻松解决脚本开发的复杂性问题,并降低开发所需的时间。但是,有一些脚本开发员所抱怨的正是简单性。他们认为工具隐藏了一些他们想要控制的细节。find() 方法是灵活和简单的。它使脚本开发员能够更强地控制测试脚本。这就是为什么在脚本开发中它得到广泛的应用,以替换默认方法的原因。基于导航对象识别方法非常有效和简单。有一点非常重要:它几乎可以在任何场所使用。但是,使用 UI 结构还是十分敏感的。

  我们将会向您展示怎样使用 find() 方法,以及替代性的基于导航方法,同时享受使用工具所带来的便捷之处。

  脚本组织的建议

  回忆一下 Rational Functional Tester 对象结构的第一部分。我们知道所有的对象搜索方法默认条件下都是在辅助类中执行。例如,搜索 Place Order 按钮的默认方法如列表 4 所示。

  列表 4. 默认的 Place Order 按钮代码

public abstract class BaseCaseHelper extends RationalTestScript {
	/**
	* PlaceOrder: with default state.
	* .class : javax.swing.JButton
	* accessibleContext.accessibleName : Place Order
	* name : placeOrderButton2
	* .classIndex : 0
	*/
	protected GuiTestObject placeOrder() {
		return new GuiTestObject(getMappedTestObject("placeOrder"));
	}
	
	/**
	* Schubert4_14Jpg: with default state.
	* .class : javax.swing.JLabel
	* iconDescription : Schubert4_14.jpg
	* .classIndex : 2
	*/
	protected GuiTestObject schubert4_14Jpg() {
		return new GuiTestObject(
			getMappedTestObject("schubert4_14Jpg"));
	}
}

  然后您创建一个辅助类,该类扩展了默认的辅助类并超越了默认的方法。它如列表 5 中的代码所示。

  列表 5. 创建辅助类的代码

public class BaseCaseUserHelper extends BaseCaseHelper {
// This method is used to find the button Place Order
public GuiTestObject PlaceOrder() throws TestObjectNotLocatedException{
		// The path we specified to find the button from the album image
		// First move up 3 times, then move down to the fifth child
		String pathString = "P3;C5";
		Path path = null;
		try{
			path = new Path(pathString);
		}catch(IllegalPathStringException illegalpath){
			logError(illegalpath.getMessage());
		}
		
		// schubert4_14Jpg() is object for the cover image
		return new GuiTestObject(
			ObjectFinder.locateTestObject(schubert4_14Jpg(), path));
	}
}
			

  最后,让脚本类扩展用户定义的类。通过这种方法,您不需要编辑任何已存在的对象搜索方法。您只是超越了它们,将已存在的对象搜索方法的最强部分结合起来。

  下载

描述 名字 大小 下载方法
示例脚本
RBAT_Impl.zip
10KB
HTTP

  参考资料

  学习

  查看 Rational Functional Tester 信息中心,在那里,您也可以查看一段短的 演示视频

  调查 Rational Functional Tester Plus,它是一个软件应用程序测试包。

  参与 developerWorks 上 的 Rational Functional Tester 学习路线图,介绍更深入的信息。

  在 IBM Rational 软件交付平台 中了解其它应用程序,包括适用于并行开发和地域分布式团队的协作工具,以及用于架构管理、资产管理、变更和发布管理,集成需求管理、过程和组合管理,和质量管理。您可以在 IBM Rational 在线文档中心 查找产品手册、安装指南以及其它文档。

  访问 developerWorks 上的 Rational 专区,了解有关 Rational 软件交付平台产品的技术资源和最佳实践。

  查找 Rational 基于计算机,基于 Web,以及在线指导课程。训练您的技能,并学习更多有关 Rational 工具的课程,包括入门级和高级课程。在此目录上的课程可进行购买,包括基于计算机的和基于 Web培训。此外,一些“入门”课程是免费的。

  订阅 IBM developerWorks 时事通讯,获得有关最佳的 developerWorks 教程、文章、下载、社区活动、网络广播和事件的每周更新。

  浏览 技术书店,获得有关这些和其它技术主题的书籍。

原文转自:http://www.ltesting.net