追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试[2]

发表于:2010-05-04来源:作者:点击数: 标签:代码质量自动化GUIgui
追求代码 质量 : 使用 TestNG-Abbot 实现自动化 GUI 测试[2] 软件测试 Word Finder GUI 为了使您了解 TestNG-Abbot 工作原理,我创建了一个简单的 GUI,它执行一种功能 —— 在底层字典(也就是一个 数据库 )中查阅一个给定的单词并显示其释义。不管该应用程

  追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试[2]   软件测试

  Word Finder GUI

  为了使您了解 TestNG-Abbot 工作原理,我创建了一个简单的 GUI,它执行一种功能 —— 在底层字典(也就是一个数据库)中查阅一个给定的单词并显示其释义。不管该应用程序实际的代码如何,测试该 GUI 用户场景包括三个步骤:

  在文本框中输入一个单词。

  单击 Find Word 按钮。

  验证是否给出了该单词释义。

  当然,也存在一些极端的例子,比如一个用户按下了 Find Word 按钮但没有输入单词,或者,用户输入了一个无效的单词。我将通过一些其他的测试案例说明如何处理这类场景。

  了解 GUI

  图 1 显示了已启动的 Word Finder GUI。记住该 GUI 之所以简单只有一个原因:它演示了 TestNG-Abbot 的三个 fixture 类以及一些要引导的测试用例!

  图 1. Word Finder GUI

  当使用 TestNG-Abbot 进行测试时,应该首先检查 GUI 的组件。Word Finder GUI 由图 2 所示的三个组件组成:

  图 2. Word Finder GUI 的组件

  如您所见,Word Finder GUI 由一个 JTextField(用来输入要查询的单词)、一个 JButton(使 GUI 从字典数据库中获取释义)和一个 JEditorPane (显示释义)组成。

  在良好的场景中,如果我输入 pugnacious 然后单击 Find Word 按钮,JEditorPane 将显示 “Combative in nature; belligerent”,如图 3 所示:

  图 3. 良好的场景 —— 工作良好!

  使用 TestNG-Abbot 进行测试

  要开始使用 TestNG-Abbot,需要创建一个常规的测试 fixture,它将使用 TestNG 的 BeforeMethod 和 AfterMethod 注释为您的 GUI 创建一个实例。TestNG-Abbot 框架附带了一个方便的 AbbotFixture 对象,它简化了 GUI 组件的使用,实际上也引导了整个测试过程。要在测试 fixture 中使用该对象,需要在测试前将一个 GUI 实例传递给 fixture 对象的 showWindow() 方法,然后使用名为 cleanUp() 的方法对 fixture 进行清理。

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