WEB开发网
开发学院软件开发Java 追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI... 阅读

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

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 由于 Word Finder GUI 的用户可见的行为会影响 图 2 所示的三个组件,需要通过编程对其进行调整,追求代码质量: 使用 TestNG-Abbot 实现自动化 GUI 测试(5),以确保工作能正常进行,比如,通过编程将 JButton 对象与 “findWord&rdqu

由于 Word Finder GUI 的用户可见的行为会影响 图 2 所示的三个组件,需要通过编程对其进行调整,以确保工作能正常进行。比如,验证 图 3 演示的良好的场景,需要执行下面三个步骤:

获得对 JTextField 的引用并向其添加一些文本。

获得 JButton 的句柄并单击它。

获得对 JLabel 组件的引用并检验是否显示了正确的释义。

检验良好的场景

使用 TestNG-Abbot,可以通过这三个方便的 fixture 类型执行上面所属的三个步骤:TextComponentFixture 用于 JTextField;ButtonFixture 用于 Find Word 按钮;LabelFixture 用来验证 JLabel 中特定的文本。

清单 2 显示了用于验证 图 3 中演示的内容是否可以正常工作的代码:


清单 2. 测试一个良好场景
@Test 
public void assertDefinitionPresent() { 
 TextComponentFixture text1 = new TextComponentFixture(this.fixture, 
  "wordValue"); 
 text1.enterText("pugnacious"); 
 
 ButtonFixture bfix = new ButtonFixture(this.fixture, "findWord"); 
 bfix.click(); 
 
 LabelFixture fix = new LabelFixture(this.fixture, "definition"); 
 fix.shouldHaveThisText("Combative in nature; belligerent."); 
} 

注意 fixture 对象通过一个逻辑名称和特定的 GUI 组件连接在一起。例如,在 Word Finder GUI 中,通过编程将 JButton 对象与 “findWord” 名称联系起来。请注意在定义按钮时,我是如何通过调用组件的 setName() 方法做到这点的,如清单 3 所示:


清单 3. 定义 Find Word 按钮
findWordButton = new JButton(); 
findWordButton.setBounds(new Rectangle(71, 113, 105, 29)); 
findWordButton.setText("Find Word"); 
findWordButton.setName("findWord"); 

上一页  1 2 3 4 5 6 7  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接